数据更新(初级问题)!
我是刚刚学VB.NET的.还不到一天.还没有装MSDN呢。我现在怎么也看不明白数据更新那里是怎么回事
我窗体上有二个文本框。一个BUTTON。我怎么点BUUTTON把二个文本框里的信息更新到数据库呢。
我连数据库是这样写的
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=../Data.mdb"
Dim cnn As New OleDb.OleDbConnection(str)
Dim ad As New OleDb.OleDbDataAdapter("select * from ZhuCe", cnn)
Dim ds As New DataSet
ad.Fill(ds, "ZhuCe")
下面我怎么写更新的语句啊。我数据库里有一个字断一个是NAME ,PASSWORD。我怎么让TEXTBOX1里的数据到NAME里。TEXTBOX2里的数据到PASSWORD里啊。我个里是空的什么也没有。请说的详细一点。谢谢。最好有代码。受累了!
问题点数:50、回复次数:9Top
1 楼bitsbird(一瓢 在路上...)回复于 2004-04-01 01:11:08 得分 0
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(data.mdb)
Dim sql As String;
Dim cnn As New OleDbConnection(str)
sql="insert into table1 (NAME,PASSWORD) values (TextBo1.Text,TextBox2.Text)"
Dim cmd As New OleDbCommand(sql,cnn)
cmd.Connection.Open()
cmd.ExecuteNonQuery()
cnn.Close()
我用
Top
2 楼bitsbird(一瓢 在路上...)回复于 2004-04-01 01:11:38 得分 0
我用vb.net试写的,一直用c#的Top
3 楼LiJoe(有看贴的权利,没有回帖的义务)回复于 2004-04-01 09:39:20 得分 0
'添加一条记录
Dim row As DataRow
row = ds.Tables("ZhuCe").NewRow
row.Item("NAME") = Me.TextBox1.Text
row.Item("PASSWORD") = Me.TextBox2.Text
ds.Tables("ZhuCe").Rows.Add(row)
'更新纪录
Dim cb As OleDb.OleDbCommandBuilder
cb = New OleDb.OleDbCommandBuilder(ad)
ad.UpdateCommand = cb.GetUpdateCommand
ad.Update(ds.GetChanges, "ZhuCe")
变量声明成窗体级的
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=../Data.mdb"
Dim cnn As New OleDb.OleDbConnection(str)
Dim ad As New OleDb.OleDbDataAdapter("select * from ZhuCe", cnn)
Dim ds As New DataSet
Top
4 楼DGCSLD(大过错)回复于 2004-04-01 10:04:46 得分 0
LiJoe(有看贴的权利,没有回帖的义务)
row = ds.Tables("ZhuCe").NewRow这句出错说!其他信息: 未将对象引用设置到对象的实例。
这是怎么回事啊!Top
5 楼banni2003(木木)回复于 2004-04-01 10:10:48 得分 30
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=../Data.mdb"
Dim cnn As New OleDb.OleDbConnection(str)
cnn.open
Dim ad As New OleDb.OleDbDataAdapter("select * from ZhuCe", cnn)
Dim ds As New DataSet
ad.Fill(ds, "ZhuCe")
private sub button_click(byval...)
dim mydatarow as datarow
try
mydatarow = ds.Tables("ZhuCe").NewRow
mydatarow.Item("NAME") = Me.TextBox1.Text
mydatarow.Item("PASSWORD") = Me.TextBox2.Text
ds.Tables("ZhuCe").Rows.Add(row)
ad.update(ds,"ZhuCe")
catch
/**捕捉异常
end try
end subTop
6 楼LiJoe(有看贴的权利,没有回帖的义务)回复于 2004-04-01 10:30:31 得分 0
如果更新代码写在button的事件里面,你的ds,ad必须声明成窗体级变量Top
7 楼LiJoe(有看贴的权利,没有回帖的义务)回复于 2004-04-01 10:55:06 得分 0
'添加应该生成InsertCommand,在ad.UpdateCommand = cb.GetUpdateCommand后面加上这两句
'自动生成插入和删除语句
ad.InsertCommand = cb.GetInsertCommand
ad.DeleteCommand = cb.GetDeleteCommand
再就是楼主的字段password好象是access的保留字,建议换一个字段名
row.Item("PASSWORD") = Me.TextBox2.Text
将PASSWORD改为你的新字段名就可以了
Top
8 楼DGCSLD(大过错)回复于 2004-04-01 11:36:21 得分 0
最后问一次
Dim uprow As DataRow
Try
uprow = DataSet11.Tables("ZhuCe").NewRow
uprow.Item("Name") = Me.TextBox1.Text
uprow.Item("Password") = Me.TextBox2.Text
DataSet11.Tables("ZhuCe").Rows.Add(uprow)
Me.OleDbDataAdapter1.Update(DataSet11, "ZhuCe")
MsgBox("成功")
Catch ex As Exception
MsgBox("sadfkasjdflkjasldf")
End Try
怎么uprow.Item("Password") = Me.TextBox2.Text 有这这行之后就怎么也过不去了呢就是出错。没有这行的话,就行。
怎么回事啊。假如我有十几个textbox也是这样更新吗?
知道给的分少。真不好意思。加!Top
9 楼LiJoe(有看贴的权利,没有回帖的义务)回复于 2004-04-01 13:14:31 得分 20
字段password好象是access的保留字
假如我有十几个textbox也是这样更新吗?一样的Top




