C#通过DataGridView更新数据库publicpartialclassForm1:Form{Forml数据成员#regionForml数据成员privateDataTableDT=newDataTable();privateSqlDataAdapterSDA=newSqlDataAdapter();#endregionForml构造函数#regionForml构造函数publicForm1(){InitializeComponent();}#endregion连接数据库显示数据#region连接数据库显示数据privatevoidForm1_Load(objectsender,EventArgse){SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=pubs;uid=sa");SqlCommandSCD=newSqlCommand("select*fromtables",conn);SDA.SelectCommand=SCD;SDA.Fill(DT);dataGridView1.DataSource=DT;}#endregion使用Update更新数据库#region使用Update更新数据库privatevoidtoolStripButton1_Click(objectsender,EventArgse){try{SqlCommandBuilderSCB=newSqlCommandBuilder(SDA);SDA.Update(DT);}catch(System.Exceptionex){MessageBox.Show(ex.ToString());return;}MessageBox.Show(”更新成功!");}#endregion23456789101112131415161718192021222324252627282930313233343536371#region关于数据库操作的函数集,与业务无关//////查询数据库记录,返回存放记录的DataTable//////vparamname="Sql">SQL查询语句v/param>///DataTable数据表v/returns>publicDataTableDB_Find(stringSql){SqlConnectiondbConn=newSqlConnection(Param_Class.Param_DB.strConn);dbConn.Open();SqlDataAdapterSda=newSqlDataAdapter(Sql,dbConn);DataTabledt=newDataTable();Sda.Fill(dt);dbConn.Close();returndt;}///vsummary>///查询数据库记录,返回存放记录的DataTable,并指定其名称///v/summary>///vparamname="Sql">SQL查询语句v/param>///vparamname="TableName">指定DataTable的名称v/param>///vreturns>以TableName命名的数据表v/returns>publicDataTableDB_Find(stringSql,stringTableName){SqlConnectiondbConn=newSqlConnection(Param_Class.Param_DB.strConn);dbConn.Open();SqlDataAdapterSda=newSqlDataAdapter(Sql,dbConn);DataSetds=newDataSet();Sda.Fill(ds,TableName);dbConn.Close();returnds.Tables[TableName];}///vsummary>///查找数据表中是否存在某个记录3839404142434445464748495051525354555657585960616263646566676869707172737475767778798081//////vparamname="Sql">SQL查询语句v/param>///vreturns>整形变量,0—没有符合记录;大于0—找到符合记录v/returns>publicintIsRecorderExist(stringSql){SqlConnectiondbConn=newSqlConnection(Param_Class.Param_DB.strConn);dbConn.Open();SqlDataAdapterSda=newSqlDataAdapter(Sql,dbConn);DataTabledt=newDataTable();Sda.Fill(dt);dbConn.Close();returndt.Rows.Count;}///vsummary>///在对应的数据表里添加新记录///v/summary>///vparamname="strTableName">需要添加记录的数据表v/param>///vparamname="dt">需要添加记录的数据表所暂存的DataTablev/param>///vparamname="strValues">新记录的各字段值组成的字符串数组v/param>publicvoidDb_AddNew(stringstrTableName,DataTabledt,string[]strValues){try{string[]strDesField=newstring[100];stringstrSql="",strField="",strValue="";for(inti=0;ivdt.Columns.Count;i++){strDesField[i]=dt.Columns[i].ColumnName;strField+=strDesField[i]+",";strValue+="'"+strValues[i]+"',";}intnPos=strField.LastIndexOf(@",");strField=strField.Substring(0,nPos);nPos=strValue.LastIndexOf(@",");strValue=strValue.Substring(0,nPos);strSql=String.Format("INSERTINTO{0}({1})VALUES({2})",strTableName,strField,strValue);SqlConnectiondbConn=newSqlConnection(Param_Class.Param_DB.strConn);SqlCommandcmdAddNew=newSqlCommand(strSql,dbConn);dbConn.Open();SqlDataReaderSdr=cmdAddNew.ExecuteReader();Sdr.Close();dbConn.Close();828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125catch(Exceptionex){MessageBox.Show(”操作失败,原因:"+ex.ToString());}}//////在对应的数据表里删除记录//////vparamname="strTableName">源数据表名///vparamname="strKey">数据表主键v/param>///vparamname="strFilter">主键的匹配值v/param>publicvoidDB_Delete(stringstrTableName,stringstrKey,stringstrFilter){try{stringstrSql=String.Format("DELETEFROM{0}WHERE{1}='{2}'",strTableName,strKey,strFilter);SqlConnectiondbConn=newSqlConnection(Param_Class.Param_DB.strConn);SqlCommandcmdDel=newSqlCommand(strSql,dbConn);dbConn.Open();SqlDataReaderSdr=cmdDel.ExecuteReader();Sdr.Close();dbConn.Close();}catch(Exceptionex){MessageBox.Show(”操作失败,原因:"+ex.ToString());}}///vsummary>///更新数据库中与参数中的SQL查询符合的记录,针对单条记录修改///v/summary>///vparamname="strSql">查询某条需要修改的记录的SQL语句v/param>///vparamname="strValue">各字段的新值,字符串数组v/param>///vreturns>更新后的数据表DataTablev/returns>publicDataTableDB_Update(stringstrSql,string[]strValue){DataTabledt=newDataTable();dt=DB_Find(Param_Class.Param_DB.strConn,strSql);DataTabledtNew=newDataTable();for(inti=0;ivdt.Columns.Count;i++){dt.Rows[0][dt.Columns[i].ColumnName]=strValue[i];126127128129130131132133}SqlDataAdapterSda=newSqlDataAdapter(strSql,Param_Class.Param_DB.strConn);SqlCommandBuildercmbUpdate=newSqlCommandBuilder(Sda);Sda.Update(dt);dt.AcceptChanges();returndt;}#endregion。