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

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

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


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