CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

数据更新(初级问题)!

楼主DGCSLD(大过错)2004-04-01 00:50:40 在 .NET技术 / VB.NET 提问

我是刚刚学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

相关问题

  • 数据更新
  • 数据更新?
  • 更新数据
  • 数据库更新
  • 数据库更新?
  • 数据库更新
  • 更新表数据
  • ListBox数据更新
  • 新手,数据更新,不出结果!,要怎么写啊!应该是数据库连接的问题!在线等待!,初级问题
  • 初级问题,关于页面更新

关键词

  • ds
  • 数据
  • 数据库
  • me
  • source
  • zhuce
  • uprow
  • cnn
  • oledb
  • dim

得分解答快速导航

  • 帖主:DGCSLD
  • banni2003
  • LiJoe

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo