CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

大哥大姐, 小弟初学ASP.net (C#)请教几个数据库insert,update,delete,query操作问题,分不够再开

楼主hfy2003(凌云(骑猪追老虎))2004-12-02 09:50:42 在 .NET技术 / ASP.NET 提问

大哥大姐,   小弟初学ASP.net   (C#)  
  请教几个数据库insert,update,delete,query操作问题,分不够再开  
  我想得到不用控件连接数据库的方法,   目前我只学会了连接SQL   Server   的查询写法如下  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
  String   sql;  
   
  string   connstr=@"Provider=SQLOLEDB.1;Password=IEB;Persist   Security   Info=True;User   ID=IEB;Initial   Catalog=IEB1222;Data   Source=ZESHI\NJAIEB01Provider=SQLOLEDB.1;Password=IEB;Persist   Security   Info=True;User   ID=IEB;Initial   Catalog=IEB1222;Data   Source=ZESHI\NJAIEB01";     //   定义连接字符串  
  System.Data.OleDb.OleDbConnection   conn   =new   System.Data.OleDb.OleDbConnection(connstr);  
  //   把连接的内容赋给   oledbConnection  
  conn.Open();  
  //   打开数据库  
  sql="select   *   from   test";  
  System.Data.OleDb.OleDbDataAdapter   ada   =new   System.Data.OleDb.OleDbDataAdapter(sql,conn);  
  //   定义   OleDbDataAdapter,   一个   OledbDataAdapter   对应一个dataTable  
  System.Data.DataSet   ds   =new   DataSet();  
  //   定义   DataSet   ds,     DataSet   是DataTable   的集合.  
  ada.Fill(ds);  
  //   把OledbDataAdapter   读出来的DataTable   填充到   DataSet   里面.  
  this.DataGrid1.DataSource=ds.Tables[0];  
  this.DataGrid1.DataBind();  
   
  }  
  我想请教   insert   ,   Update   ,   Delete   数据库操作如何写.   请用语句连接SQL   Server   数据库.    
  Table   结构如下:  
  Prodid,   qty    
   
  ASP.net   界面上有两个文本框控件,   TextBox1   用来输入   prodid,   TextBox2   用来输入   qty.谢谢各位大哥大姐拉  
  问题点数:100、回复次数:16Top

1 楼lr2651(戎 The Two Towers)回复于 2004-12-02 10:00:10 得分 5

要这么简单的张表,sql语句都不用自己写,直接声明一个CommandBiulder就搞定了Top

2 楼KingCrane(子鹤)回复于 2004-12-02 10:03:36 得分 10

System.Data.OleDb.OleDbCommand   cmd;  
  cmd   =   new   System.Data.OleDb.OleDbCommand();  
  cmd.Connection   =   conn   //   connetion;  
  cmd.CommandText   =   sql//   insert   update   delete   sql;  
  cmd.ExecuteNonQuery();  
  Top

3 楼lr2651(戎 The Two Towers)回复于 2004-12-02 10:04:06 得分 10

插入:  
  if(Page.IsValid)  
  {  
  DataTable   table   =   myDS.Tables["ServiceCenter"];  
  DataRow   row   =   table.NewRow();  
   
  row["title"]   =   this.TextTitle.Text;  
  row["surporter"]   =   this.TextName.Text;  
  if(this.Email.Text   !=   string.Empty)  
  {  
  row["email"]   =   this.Email.Text;  
  }  
  if(this.PhoneNumber.Text   !=   string.Empty)  
  {  
  row["phone"]   =   this.PhoneNumber.Text;  
  }  
  if(this.TelNumber.Text   !=   string.Empty)  
  {  
  row["powerPhone"]   =   this.TelNumber.Text;  
  }  
  if(this.OrderNum.Text   !=   string.Empty)  
  {  
  row["orderNum"]   =   this.OrderNum.Text;  
  }  
  table.Rows.Add(row);  
  myAdapter.Update(table);  
  Response.Redirect("M_suport.aspx");  
  }  
  删除:  
  if(myDS.Tables["serviceCenter"].Rows[e.Item.DataSetIndex]   !=   null)  
  {  
  myDS.Tables["serviceCenter"].Rows[e.Item.DataSetIndex].Delete();  
  myDS.GetChanges();  
  }  
  if(myDS.HasChanges())  
  {  
  myAdapter.Update(myDS,"serviceCenter");  
  }  
  Response.Redirect("M_suport.aspx");  
  修改:  
  if(Page.IsValid)  
  {  
  DataRow   editRow   =   myDS.Tables["serviceCenter"].Rows[ListView.SelectedIndex];  
   
  editRow["title"]   =   EditTitle.Text;  
  editRow["surporter"]   =   EditSurporter.Text;  
  if(EditPhone.Text   !=   string.Empty)  
  editRow["phone"]   =   EditPhone.Text;  
  if(EditPowerPhone.Text   !=   string.Empty)  
  editRow["powerPhone"]   =   EditPowerPhone.Text;  
  if(EditEmail.Text   !=   string.Empty)  
  editRow["email"]   =   EditEmail.Text;  
  if(EditOrderNumber.Text   !=   string.Empty)  
  editRow["orderNum"]   =   EditOrderNumber.Text;  
   
  myAdapter.Update(myDS,"serviceCenter");  
  this.childPart.Visible   =   false;  
  Response.Redirect("M_suport.aspx");  
  }  
  注意,页面一开始需要  
  myCommB   =   new   OleDbCommandBuilder(myAdapter);  
  这句把你的适配器与CommandBuilder关联起来Top

4 楼jackief(小鱼儿)回复于 2004-12-02 10:04:34 得分 10

给你一些我写的代码,你研究研究吧!  
  这是邦定数据库的  
  string   strSql;  
  SqlConnection   Conn=new   SqlConnection();  
  Conn.ConnectionString="server=fl;uid=sa;pwd=;database=pubs";  
  Conn.Open();  
  if(txtKey.Text=="")  
  strSql="select   *   from   jobs";  
  else  
  strSql="select   *   from   jobs   where   job_desc   like   '%"+txtKey.Text.Trim()+"%'";  
  SqlDataAdapter   Cmd=new   SqlDataAdapter(strSql,Conn);  
  DataSet   ds=new   DataSet();  
  Cmd.Fill(ds,"jobs");  
  DataGrid1.DataSource=ds;  
  DataGrid1.DataBind();  
  Conn.Close();  
   
   
   
  你要只是想执行sql语句,那么就这样写  
  public   void   ExecuteSql(string   strSql){  
  SqlConnection   Conn=new   SqlConnection();  
  Conn.ConnectionString   ="server=fl;uid=sa;pwd=;database=practice";  
                          Conn.Open();  
  SqlCommand   comm=new   SqlCommand(strSql,Conn);  
  comm.ExecuteNonQuery();  
  Conn.Close();  
           
  }  
  写成函数然后传参数,就可以执行sql语句了  
   
  另外,如果你想用textbox1来输出值,用上面的ds  
  textbox1.Text=ds.Table["表名"].rows[行数][列数].tostring();Top

5 楼dcren118(酒仙)回复于 2004-12-02 10:24:47 得分 5

数据更新用DATAREADER就就可以了!  
   
  然后用dr.Getstring(0).Tostring();输出你的结果  
   
  最主要的就SQLCOMMAND   执行他副给   DRTop

6 楼yuejie6666(我爱.NET)回复于 2004-12-02 10:38:56 得分 5

最好是封装在一个对象中,以后直接调用就ok了。Top

7 楼lhcoolhacker(hugh-lin)回复于 2004-12-02 12:03:10 得分 5

可以使用微软的SqlHepler.dll  
  Top

8 楼yichuan1982(亦川——四川新津)回复于 2004-12-02 12:38:52 得分 5

顶Top

9 楼hwmok()回复于 2004-12-02 16:26:56 得分 20

string   dbPath   =   @"Data\dbTest.mdb";  
  string   db   =   Server.MapPath(dbPath);  
  string   connectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   db;  
  string   strSQL   =   "SELECT   [CustomerID],[Address]   FROM   [Customers]";  
   
  OleDbConnection   conn   =   new   OleDbConnection(connectionString);  
  OleDbDataAdapter   da   =   new   OleDbDataAdapter(strSQL,conn);  
  OleDbCommandBuilder   cb   =   new   OleDbCommandBuilder(da);  
   
  DataSet   ds   =   new   DataSet();  
   
  da.Fill(ds,"List");  
  //记录的更新  
  //   DataRow   dr   =   ds.Tables["List"].Rows[1];  
  //  
  //   dr.BeginEdit();  
  //   dr["CustomerID"]   =   "********";  
  //   dr["Address"]   =   "------";  
  //   dr.EndEdit();  
  //记录更新也可写成这样!  
  //   ds.Tables["List"].Rows[1].BeginEdit();  
  //   ds.Tables["List"].Rows[1]["CustomerID"]   =   "+++++";  
  //   ds.Tables["List"].Rows[1]["Address"]   =   "------";  
  //   ds.Tables["List"].Rows[1].EndEdit();  
  //记录的插入  
  //   DataRow   dr   =   ds.Tables["List"].NewRow();  
  //   dr["CustomerID"]   =   "1242354554656";  
  //   dr["Address"]   =   "mmnnvbc";  
  //  
  //   ds.Tables["List"].Rows.Add(dr);  
  //记录删除  
  //   ds.Tables["List"].Rows[2].Delete();  
  //更新到数据库  
  da.Update(ds,"List");  
   
  DataGrid1.DataSource   =   ds.Tables["List"].DefaultView;  
  DataGrid1.DataBind();  
   
  ds.Clear();  
  conn.Close();Top

10 楼fccvip(www.anagenesis.cn)回复于 2004-12-02 16:44:55 得分 5

string   sql="select   *   from   Table";  
  SqlDataAdapter   da=new   SqlDataAdapter(sql,conn);  
  DataSet   ds=new   DataSet();  
  da.Fill(ds,"TableName");  
   
  TextBox1.Text=ds.Tables[0].Rows[0]["ID"].ToString();  
  ds.Clear();Top

11 楼cjjll(潇潇风雨)回复于 2004-12-02 17:52:23 得分 2

混个脸熟!Top

12 楼bitm(爱思派)回复于 2004-12-02 17:55:43 得分 2

去看看SQLTop

13 楼wssmax(请叫我三角猫)回复于 2004-12-02 18:15:45 得分 2

存储过程Top

14 楼hfy2003(凌云(骑猪追老虎))回复于 2004-12-02 19:11:49 得分 0

我用了如下的方法,请大家给个评价吧   !  
  string   sql;  
  string   strconn=@"Provider=SQLOLEDB.1;Password=IEB;Persist   Security   Info=True;User   ID=IEB;Initial   Catalog=IEB1222;Data   Source=ZESHI\NJAIEB01Provider=SQLOLEDB.1;Password=IEB;Persist   Security   Info=True;User   ID=IEB;Initial   Catalog=IEB1222;Data   Source=ZESHI\NJAIEB01";     //   定義連接字串  
  OleDbConnection   myconn=new   OleDbConnection(strconn);  
  sql="   insert   into   test(prodid,qty)   values   ('123','456')";  
  myconn.Open();  
  OleDbCommand   mycommand   =new   OleDbCommand(sql,myconn);  
  OleDbDataReader   myOleDbReader   =mycommand.ExecuteReader();  
  DataGrid1.DataSource=myOleDbReader;  
  DataGrid1.DataBind();  
  Top

15 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-12-02 20:11:38 得分 2

up~Top

16 楼bgu(彼岸)回复于 2004-12-02 20:24:57 得分 12

Select:  
  很简单,用DataReader读出来再梆定到DataGrid就可以了.  
  Insert/Delete:  
  直接用Command就可以了.  
  Top

相关问题

  • C++初学
  • c初学者
  • C++初学?
  • C#初学者
  • 初学C++
  • C#初学者
  • 初学ASP
  • 初学ASP。NET
  • rivershan(笨猫_L)(ASP/C++/VC初学者) 来,接分 -- 100 圆!
  • rivershan(笨猫)(ASP/C++/VC初学者) 进来一下!

关键词

  • asp.net
  • c#
  • 数据库
  • ds
  • 连接
  • 执行
  • source
  • ieb
  • oledbdataadapter
  • conn

得分解答快速导航

  • 帖主:hfy2003
  • lr2651
  • KingCrane
  • lr2651
  • jackief
  • dcren118
  • yuejie6666
  • lhcoolhacker
  • yichuan1982
  • hwmok
  • fccvip
  • cjjll
  • bitm
  • wssmax
  • passionke
  • bgu

相关链接

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

广告也精彩

反馈

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