Страница: 1 |
Страница: 1 |
Вопрос: Заставить работать по кнопке
Добавлено: 16.02.06 11:38
Автор вопроса: Olga | ICQ: 32814421
Добрый день, сделала заготовку в Вижуал Веб Девелопер. Провела Соединение с БД (SQLConnection) в это соединении прописала инсерт данных из полей формы в колонки таблицы, кнопке приписала по нажатии процедуру SQLConnection.Insert(), а не работает...
причем проверяла ввод данных вроде все норм записываются а вот по нажатии кнопки не идет и все тут, уже чего только не перебирала.... Посмотрите может чего не того наворотила? Сильно не бейте я только учусь :-/
<form id="form1" runat="server">
<div>
<asp:TextBox ID="F" runat="server"></asp:TextBox><br />
<asp:TextBox ID="S" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="M" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Отправить" OnClick="Button1_Click"/>
<asp:SqlDataSource ID="SDS1" runat="server" ConnectionString="<%$ ConnectionStrings:dbtest1ConnectionString %>"
InsertCommand="INSERT INTO V_KADRY(FIO, KAT_R, KOD_Education) VALUES (@F1, @S1, @M1)"
ProviderName="<%$ ConnectionStrings:dbtest1ConnectionString.ProviderName %>">
<InsertParameters>
<asp:FormParameter FormField="F" Name="F1" />
<asp:FormParameter FormField="S" Name="S1" />
<asp:FormParameter FormField="M" Name="M1" />
</InsertParameters>
</asp:SqlDataSource>
</asp:Panel>
</div>
</form>
И в коде
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
SDS1.Insert()
End Sub
End Class
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 16.02.06 18:22
Внешне вроде все как надо...
А оно просто ничего не делает, или какую-то ошибку выдает?
Номер ответа: 2
Автор ответа:
.:: St!X ::.
ICQ: 339888425
Вопросов: 13
Ответов: 51
Web-сайт:
Профиль | | #2
Добавлено: 17.02.06 08:20
Проясни такой момент: что такое <проверяла ввод данных:>
Команда инсерт конечно объявлена, а где создание параметров? И присвоение им
значений?
Делаем так:
Создаем подключение:
Dim SQLCon As New System.Data.SqlClient.SqlConnection()
SQLCon.ConnectionString = <Твоя строка подключения к серверу БД>
----------или-------------
SQLCon.DataSource = SDS1
--------------------------
SQLCon.Open()
создаем объект Command
Dim SQLCmd1 As New System.Data.SqlClient.SqlCommand()
Присваиваем
SQLCmd1.CommandText = "INSERT INTO V_KADRY(FIO, KAT_R, KOD_Education) VALUES
(@F1, @S1, @M1)"
SQLCmd1.Connection = SQLCon
Далее создаем 3 параметра:
SQLCmd1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@F1",
System.Data.SqlDbType.VarChar, 4, "F1")
... и тд...
Присваиваем значения:
SQLCmd1.Parameters("@F1".Value = F.Text
... и тд...
SQLCmd1.ExecuteNonQuery()
На Последнем действии желательно перехватить ошибку
Try
.............. (нечто очень умное).............
Catch ex As Data.SqlClient.SqlException
Response.Write("Не тупи!!!"
End Try
Удачи!!!
PS: вся эта пурга в теле обработчика нажатия на батон
Номер ответа: 3
Автор ответа:
Olga
ICQ: 32814421
Вопросов: 1
Ответов: 3
Профиль | | #3
Добавлено: 17.02.06 09:30
Не заносит данные в базу данных, не выдает никаких ошибок.
Номер ответа: 4
Автор ответа:
Olga
ICQ: 32814421
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 17.02.06 09:40
Поясняю, если вы работали в Вижуал Студио или Вижуал Веб девелопер, то там есть такая возможность...Я на мое соединение с базой данных вешаю Insert данных что мне надо и куда занести, и это уже на этом соединении записанным остается. Так вот при создании этого скрипта в Query Builder есть кнопочка Execute Query если её нажимаешь можно проверить заносятся ли данные в БД, так вот по этой проверке все занеслось.
Про создание параметров, у меня форма для ввода, в которой заданы @F, @S, @M... и это из формы должно занестись по кнопке в базу. Да действительно эти параметры нигде не объявлялись. В общем рано я полезла в Вижуал, надо сами коды поковырять понабирать ручками...
Номер ответа: 5
Автор ответа:
.:: St!X ::.
ICQ: 339888425
Вопросов: 13
Ответов: 51
Web-сайт:
Профиль | | #5
Добавлено: 17.02.06 10:50
Чего там и где автоматом создается - это придурь M$ принцип работы ADO.NET никто этим не отменит...
Хотите возложить всю работу на мастеров - круто! Но... любая сложная прога Вам подкинет нехилые грабли!
Номер ответа: 6
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #6
Добавлено: 17.02.06 14:51
2 St!X: в VS 2005 появилась возможность декларативной привязки данных к источнику данных. Именно она и было здесь использована. Вам нужно было просто вникнуть в код...
Номер ответа: 7
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #7
Добавлено: 17.02.06 19:30
Чтобы изменения вступили в силу базу нужно обновить -
Update.
Номер ответа: 8
Автор ответа:
Olga
ICQ: 32814421
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 20.02.06 08:09
Апдейт обязательно делала, иначе как и проверить разноску по базе В любом случае, спасибо за внимание и поддержку.
Буду пробовать по новой, попробую новую строку подключения сделать и что- нибудь с пользователями похимичить.