powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неужели DataReader не помог, взгляните, а?
6 сообщений из 6, страница 1 из 1
Неужели DataReader не помог, взгляните, а?
    #32500269
kristinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача была такая: сделать доступной для правки таблицу из БД 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
...
Рейтинг: 0 / 0
Неужели DataReader не помог, взгляните, а?
    #32500375
kristinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может уточнить чего, а то я совсем в ступоре? Народ, ну хоть что-нибудь ответьте!!
...
Рейтинг: 0 / 0
Неужели DataReader не помог, взгляните, а?
    #32500420
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предлагаю вам сделать для правки записи отдельную страницу и там все делать

-- Tygra's --
...
Рейтинг: 0 / 0
Неужели DataReader не помог, взгляните, а?
    #32500480
kristinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это конечто здорово, ноя не профи, поэтому можно вас попросить пояснить в чём фишка, может литературка какая есть, Не сочтите за наглость:))
...
Рейтинг: 0 / 0
Неужели DataReader не помог, взгляните, а?
    #32500529
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Неужели DataReader не помог, взгляните, а?
    #32500833
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выводите таблицу просто в текстовом виде, у каждой строки делаете ссылку с ID строки таблицы, которая ведет к отдельной странице. На этой странице по переданному ID вытаскиваете одну запись и выводите в контролах соответствующих для редактирования. И кнопку - Сохранить изменения, по которой все, что ввели, пишется в БД. И потом пересылаете обратно на отображение всей таблицы. Надеюсь, хоть немного понятно :)

-- Tygra's --
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неужели DataReader не помог, взгляните, а?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]