大哥大姐, 小弟初学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.谢谢各位大哥大姐拉
请教几个数据库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.谢谢各位大哥大姐拉
cmd = new System.Data.OleDb.OleDbCommand();
cmd.Connection = conn // connetion;
cmd.CommandText = sql// insert update delete sql;
cmd.ExecuteNonQuery();
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关联起来
这是邦定数据库的
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();
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();
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();
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();
很简单,用DataReader读出来再梆定到DataGrid就可以了.
Insert/Delete:
直接用Command就可以了.