Есть класс:
Imports System.Data.SqlClient
Public Class Author
Private cnPubs As SqlConnection
Private daPubs As SqlDataAdapter
Private dsPubs As DataSet
Public Sub New()
cnPubs = New SqlConnection()
cnPubs.ConnectionString = _
("Integrated Security=True; Data Source=LocalHost; Initial Catalog=Pubs")
Dim strSQL As String
Dim oSelCmd As SqlCommand
strSQL = "SELECT au_id, au_lname, au_fname FROM authors"
oSelCmd = New SqlCommand(strSQL, cnPubs)
daPubs = New SqlDataAdapter()
daPubs.SelectCommand = oSelCmd
Dim oUpdCmd As SqlCommand
strSQL = "UPDATE authors set au_lname = @au_lname, au_fname = @au_fname, WHERE au_id = @au_id"
oUpdCmd = New SqlCommand(strSQL, cnPubs)
oUpdCmd.Parameters.Add("@au_id", SqlDbType.VarChar, 11, "au_id")
oUpdCmd.Parameters.Add("@au_lname", SqlDbType.VarChar, 40, "au_lname")
oUpdCmd.Parameters.Add("@au_fname", SqlDbType.VarChar, 40, "au_fname")
daPubs.UpdateCommand = oUpdCmd
End Sub
Public Function GetData() As DataSet
dsPubs = New DataSet()
daPubs.Fill(dsPubs, "Authors")
Return dsPubs
End Function
Public Function UpdateData(ByVal DSChanged As DataSet) As Boolean
Try
daPubs.Update(DSChanged, "Authors")
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
Почему-то функция GetData() — работает
а функция UpdateData() — не работает и возвращает False
Может кто-нибудь подскажет, почему?
Здравствуйте, nimjan, Вы писали:
N>Есть класс:
Я конечно, в VB.Net не спец, но в ADO такое
N>N> Dim oUpdCmd As SqlCommand
N> strSQL = "UPDATE authors set au_lname = @au_lname, au_fname = @au_fname, WHERE au_id = @au_id"
N> oUpdCmd = New SqlCommand(strSQL, cnPubs)
N> oUpdCmd.Parameters.Add("@au_id", SqlDbType.VarChar, 11, "au_id")
N> oUpdCmd.Parameters.Add("@au_lname", SqlDbType.VarChar, 40, "au_lname")
N> oUpdCmd.Parameters.Add("@au_fname", SqlDbType.VarChar, 40, "au_fname")
N> daPubs.UpdateCommand = oUpdCmd
N>
не работает. На сервер БД, IMHO, "UPDATE authors set au_lname = @au_lname, au_fname = @au_fname, WHERE au_id = @au_id" и пойдёт. Проверьте какая строка до БД доходит.
PS: может это проще в .Net форуме спросить.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков