通过"保存"按钮为数据库表添加一行数据,通过"查询"按钮查找,输入"学号","姓名","年龄","性别","专业"不会插图片截面是这样的:
一共2个窗体
Form1
LAB1 textBOX1 LAB2 textBOX2 LAB3 textBOX3 LAB4 textBOX4 LAB5 textBOX5
datagriadview查询"按钮Form2LAB1 textBOX1 LAB2 textBOX2LAB3 textBOX3LAB4 textBOX4
LAB5 textBOX5 "保存"
调试欢乐多
SqlConnection sqlConn = new SqlConnection("");
SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn);
sqlDa = new SqlDataAdapter(selCmd);
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa);
sqlDa.Fill(sqlDs);
DataGridView1.DataSource = sqlDs.Tables[0];
sqlDa.Update(sqlDs);
this.dataGridView1.DataSource = sqlDs.Tables[0];
public bool HandData(DataTable t)
{
SqlConnection con = null;
try
{
con = GetCon();
con.Open();
SqlDataAdapter dt = GetSqlDataAdapter(con,t); return Convert.ToBoolean(dt.Update(t));
}
catch (Exception ex)
{
Console.Write(ex.Message);
return false;
}
finally
{
if (con != null) con.Close();
}
}SqlDataAdapter GetSqlDataAdapter(SqlConnection con, DataTable d)
{
SqlDataAdapter dt = new SqlDataAdapter();
string sqlInsert = "insert into " + d.TableName + "(";
string sqlUpdate = "update " + d.TableName + " set ";
string sqlDelete = "delete " + d.TableName + " where "; foreach (DataColumn dc in d.Columns)
{
sqlInsert += dc.ColumnName + ",";
sqlUpdate +=dc.ColumnName + "=@" + dc.ColumnName + ",";
}
sqlInsert = sqlInsert.Substring(0, sqlInsert.Length - 1) + ")values(";
sqlUpdate = sqlUpdate.Substring(0, sqlUpdate.Length - 1) + " where "; foreach (DataColumn dc in d.Columns)
{
sqlInsert += "@"+dc.ColumnName + ",";
}
sqlInsert = sqlInsert.Substring(0, sqlInsert.Length - 1) + ")";
dt.InsertCommand = new SqlCommand(sqlInsert, con);
dt.UpdateCommand = new SqlCommand(sqlUpdate, con);
dt.DeleteCommand = new SqlCommand(sqlDelete, con); foreach (DataColumn dc in d.Columns)
{
SqlParameter sp = new SqlParameter("@" + dc.ColumnName, dc.DataType);
sp.SourceColumn = dc.ColumnName;
dt.InsertCommand.Parameters.Add(sp); sp = new SqlParameter("@" + dc.ColumnName, dc.DataType);
sp.SourceColumn = dc.ColumnName;
dt.UpdateCommand.Parameters.Add(sp);
} DataTable dk = new DataTable();//sp_pkeys tblUser foreach (DataRow rw in dk.Rows)
{
sqlUpdate += rw[3].ToString().Trim() + "=@" + rw[3].ToString().Trim() + " and ";
sqlDelete += rw[3].ToString().Trim() + "=@" + rw[3].ToString().Trim() + " and "; SqlParameter sp = new SqlParameter("@" + rw[3].ToString().Trim(), SqlDbType.VarChar);
sp.SourceColumn = rw[3].ToString().Trim();
dt.DeleteCommand.Parameters.Add(sp);
} sqlUpdate = sqlUpdate.Substring(0, sqlUpdate.Length - 4);
sqlDelete = sqlDelete.Substring(0, sqlDelete.Length - 4); dt.UpdateCommand.CommandText = sqlUpdate;
dt.DeleteCommand.CommandText = sqlDelete; return dt; }
//
调用:bool result = HandData(datagriadview1.DataSource as DataTable);