Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
Задача была такая: сделать доступной для правки таблицу из БД SQL, вчера мне подсказали способ, как обойтись DataReader' ом, а результата всё нету, если не трудно, может подскажите в чём мои ошибки? Где же я накосячила? Работаю в Visual Studio. В результате должна была получиться табличка с одним столбцом Template Column и 2 столбца с Botton Column: Edit,Cancel,Update и Delete.ВОТ.Но они не работают. Public Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand Protected WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid Protected WithEvents lblMessage As System.Web.UI.WebControls.Label Protected WithEvents SqlDataAdapter1 As System.Data.SqlClient.SqlDataAdapter #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand() Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection() Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter() ' 'SqlSelectCommand1 ' Me.SqlSelectCommand1.CommandText = "SELECT PersonID, PersonName, Post, RoomID, MobilePhone, HomePhone, Pager, ISQ, [E" & _ "-mail] FROM Person" Me.SqlSelectCommand1.Connection = Me.SqlConnection1 ' 'SqlConnection1 ' Me.SqlConnection1.ConnectionString = "data source=KDC-SERVER-2000;initial catalog=KMLDO-PHONE;persist security info=Fal" & _ "se;user id=KRISTINA;password=1234;workstation id=KDC-SERVER-2000;packet size=409" & _ "6" ' 'SqlDataAdapter1 ' Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1 Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Person", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("PersonID", "PersonID"), New System.Data.Common.DataColumnMapping("PersonName", "PersonName"), New System.Data.Common.DataColumnMapping("Post", "Post"), New System.Data.Common.DataColumnMapping("RoomID", "RoomID"), New System.Data.Common.DataColumnMapping("MobilePhone", "MobilePhone"), New System.Data.Common.DataColumnMapping("HomePhone", "HomePhone"), New System.Data.Common.DataColumnMapping("Pager", "Pager"), New System.Data.Common.DataColumnMapping("ISQ", "ISQ"), New System.Data.Common.DataColumnMapping("E-mail", "E-mail")})}) End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region ВСЁ, ДАЛЬШЕ ПИСАЛА САМА,ДО ЭТОГО ВСЁ ГЕНРИРОВАЛОСЬ АВТОМАТИЧЕСКИ. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then FillDataGrid() End If End Sub Sub FillDataGrid(Optional ByVal EditIndex As Integer = -1) Dim objReader As SqlClient.SqlDataReader Try Me.SqlConnection1.Open() objReader = Me.SqlSelectCommand1.ExecuteReader Catch ex As Exception lblMessage.Text = "Error retrieving from the" & _ "database." End Try DataGrid1.DataSource = objReader If Not EditIndex.Equals(Nothing) Then DataGrid1.EditItemIndex = EditIndex End If DataGrid1.DataBind() objReader.Close() Me.SqlConnection1.Close() End Sub Sub DataGrid1_Edit(ByVal obj As Object, ByVal e As DataGridCommandEventArgs) FillDataGrid(e.Item.ItemIndex) End Sub Sub DataGrid1_Update(ByVal obj As Object, ByVal e As DataGridCommandEventArgs) If UpdateDataStore(e) Then FillDataGrid(-1) End If End Sub Sub DataGrid1_Cancel(ByVal obj As Object, ByVal e As DataGridCommandEventArgs) FillDataGrid(-1) End Sub Function UpdateDataStore(ByVal e As _ DataGridCommandEventArgs) As Boolean Dim i, j As Integer Dim params(8) As String Dim strText As String Dim blnGo As Boolean = True j = 0 For i = 0 To e.Item.Cells.Count - 3 If e.Item.Cells(i).GetType Is _ GetType(TextBox) Then strText = CType(e.Item.Cells(i).Controls(0), TextBox).Text If strText <> "" Then params(j) = strText Else blnGo = False lblMessage.Text = lblMessage.Text & _ "Вы забыли ввести значение.<p>" End If j = j + 1 Next If Not blnGo Then Return False Exit Function End If Dim strSQL As String = "UPDATE tblPerson SET" & _ "PersonName='" & params(0) & "'," & _ "Post='" & params(1) & "'" & _ "RoomID='" & params(2) & "'" & _ "MobilePhone='" & params(3) & "'" & _ "HomePhone='" & params(4) & "'" & _ "Pager='" & params(5) & "'" & _ "ISQ='" & params(6) & "'" & _ "E-mail='" & params(7) & "'" & _ "WHERE PersonID=" & CType(e.Item.Cells(0).Controls(1), Label).Text ExecuteStatement(strSQL) Return blnGo End Function Function ExecuteStatement(ByVal strSQL) Dim objCmd As New SqlClient.SqlCommand(strSQL, Me.SqlConnection1) Try objCmd.Connection.Open() objCmd.ExecuteNonQuery() Catch ex As Exception lblMessage.Text = "Error updating the database." End Try objCmd.Connection.Close() End Function End Class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:05 |
|
||
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
Может уточнить чего, а то я совсем в ступоре? Народ, ну хоть что-нибудь ответьте!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:43 |
|
||
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
Я предлагаю вам сделать для правки записи отдельную страницу и там все делать -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:57 |
|
||
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
Это конечто здорово, ноя не профи, поэтому можно вас попросить пояснить в чём фишка, может литературка какая есть, Не сочтите за наглость:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:12 |
|
||
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:27 |
|
||
|
Неужели DataReader не помог, взгляните, а?
|
|||
|---|---|---|---|
|
#18+
Выводите таблицу просто в текстовом виде, у каждой строки делаете ссылку с ID строки таблицы, которая ведет к отдельной странице. На этой странице по переданному ID вытаскиваете одну запись и выводите в контролах соответствующих для редактирования. И кнопку - Сохранить изменения, по которой все, что ввели, пишется в БД. И потом пересылаете обратно на отображение всей таблицы. Надеюсь, хоть немного понятно :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1395714]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 327ms |

| 0 / 0 |
