首先搭建好环境
我的数据库信息
在环境搭建好的情况下仔细阅读下面代码,基本都是固定格式,需要改的地方很少
using System; using MySql.Data.MySqlClient;//新引入的命名空间 using System.Configuration;//新引入的命名空间 using System.Data; using System.Data.SqlClient; public partial class index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void select(object sender, EventArgs e) { //获得Web.config中的配置信息 string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString; //连接数据库 MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr); //建立DataSet对象(相当于建立前台的虚拟数据库) DataSet ds = new DataSet(); //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表) DataTable dtable; //建立DataRowCollection对象(相当于表的行的集合) DataRowCollection coldrow; //建立DataRow对象(相当于表的列的集合) DataRow drow; //打开连接 sqlCon.Open(); //建立DataAdapter对象 string sltStr = "select id,username,password from user ";//重点,重点,重点,编写符合你查询条件的sql语句 MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon); MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd); //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中 msda.Fill(ds, "tabuser"); //将数据表tabuser的数据复制到DataTable对象(取数据) dtable = ds.Tables["tabuser"]; //用DataRowCollection对象获取这个数据表的所有数据行 coldrow = dtable.Rows; //逐行遍历,取出各行的数据 for (int inti = 0; inti < coldrow.Count; inti++) { drow = coldrow[inti]; Label1.Text += "Id:" + drow[0]; Label1.Text += " username:" + drow[1]; Label1.Text += " password:" + drow[2] + "<br />"; } sqlCon.Close(); sqlCon = null; } protected void update(object sender, EventArgs e) { //获得Web.config中的配置信息 string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString; //连接数据库 MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr); //建立DataSet对象(相当于建立前台的虚拟数据库) DataSet ds = new DataSet(); //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表) DataTable dtable; //建立DataRowCollection对象(相当于表的行的集合) DataRowCollection coldrow; //建立DataRow对象(相当于表的列的集合) DataRow drow; //打开连接 sqlCon.Open(); //建立DataAdapter对象 string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的字段 MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon); MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd); //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写 //Insertcommand ,deletecommand , updatecommand 命令。 MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda); //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中 msda.Fill(ds, "tabuser"); //将数据表tabuser的数据复制到DataTable对象(取数据) dtable = ds.Tables["tabuser"]; //用DataRowCollection对象获取这个数据表的所有数据行 coldrow = dtable.Rows; //重点,重点,重点,重点,重点,重点,重点,重点,重点 //update你的数据(update user password = 123321 where id = 1) for (int inti = 0; inti < coldrow.Count; inti++)//重点,重点,重点 { drow = coldrow[inti]; if (drow["id"].ToString() == 1 + "") { drow["password"]="123321"; } } msda.Update(ds, "tabuser");//重点,重点,重点,更新数据库 sqlCon.Close(); sqlCon = null; } protected void delete(object sender, EventArgs e) { //获得Web.config中的配置信息 string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString; //连接数据库 MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr); //建立DataSet对象(相当于建立前台的虚拟数据库) DataSet ds = new DataSet(); //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表) DataTable dtable; //建立DataRowCollection对象(相当于表的行的集合) DataRowCollection coldrow; //建立DataRow对象(相当于表的列的集合) DataRow drow; //打开连接 sqlCon.Open(); //建立DataAdapter对象 string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的字段 MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon); MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd); //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写 //Insertcommand ,deletecommand , updatecommand 命令。 MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda); //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中 msda.Fill(ds, "tabuser"); //将数据表tabuser的数据复制到DataTable对象(取数据) dtable = ds.Tables["tabuser"]; //用DataRowCollection对象获取这个数据表的所有数据行 coldrow = dtable.Rows; //逐行遍历,取出各行的数据,并且删除符合条件的数据(我要删除的id为4的记录) for (int inti = 0; inti < coldrow.Count; inti++)//重点,重点,重点,删除符合条件的数据 { drow = coldrow[inti]; if (drow["id"].ToString() == 4+"") { drow.Delete(); } } msda.Update(ds,"tabuser");//重点,重点,重点,更新数据库 sqlCon.Close(); sqlCon = null; } protected void insert(object sender, EventArgs e) { //获得Web.config中的配置信息 string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString; //连接数据库 MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr); //建立DataSet对象(相当于建立前台的虚拟数据库) DataSet ds = new DataSet(); //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表) DataTable dtable; //建立DataRow对象(相当于表的列的集合) DataRow drow; //打开连接 sqlCon.Open(); //建立DataAdapter对象 string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的数据 MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon); MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd); //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写 //Insertcommand ,deletecommand , updatecommand 命令。 MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda); //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中 msda.Fill(ds, "tabuser"); //将数据表tabuser的数据复制到DataTable对象(取数据) dtable = ds.Tables["tabuser"]; //增加记录 drow = ds.Tables["tabuser"].NewRow(); //给该记录赋值 drow[0] = 6;//重点,重点,重点,给id赋值 drow[1] = "6";//重点,重点,重点,给username赋值 drow[2] = "6";//重点,重点,重点,给password赋值 ds.Tables["tabuser"].Rows.Add(drow);//重点,重点,重点,将记录添加的虚拟数据库 //提交更新 msda.Update(ds, "tabuser"); //重点,重点,重点,更新真正的数据库 sqlCon.Close(); sqlCon = null; } }
最后,我感觉我不喜欢这种用法,SQL语句太少,除了Select别的基本上都没有用到,我的意见是:select用这种方法,update,insert,delete不用这种方法
如果是我的话,没有强制要求的话,我会用