大哥大姐, 小弟初学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.谢谢各位大哥大姐拉

解决方案 »

  1.   

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

  2.   

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

  3.   

    插入:
    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关联起来
      

  4.   

    给你一些我写的代码,你研究研究吧!
    这是邦定数据库的
    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();
      

  5.   

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

  6.   

    可以使用微软的SqlHepler.dll
      

  7.   

    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();
      

  8.   

    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();
      

  9.   

    我用了如下的方法,请大家给个评价吧 !
    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();
      

  10.   

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