当前位置:Gxlcms >
数据库问题 >
C#基础之使用DataSet与Datatable更新数据库的三种实现方法
C#基础之使用DataSet与Datatable更新数据库的三种实现方法
时间:2021-07-01 10:21:17
帮助过:26人阅读
(1)构造连接字符串:如果integrated security=true表示可以在不知道数据库用户名和密码的情况下时,依然可以连接数据库,如果integrated security=false,或者不写,表示一定要输入正确的数据库登录名和密码。sspi ,相当于 True,建议用这个代替 True。
string connSQL =
@"data source=;initial catalog=;persist security info=True;user id=;password=;MultipleActiveResultSets=True";
//(3)打开到数据库的连接 :SqlConnection表示一个到 SQL Server 数据库的打开的连接
using (SqlConnection conn =
new SqlConnection(connSQL))
{
SqlDataAdapter adapter =
new SqlDataAdapter(
"SELECT * FROM MES_aaaa", conn);
//生成命令。
SqlCommandBuilder builder =
new SqlCommandBuilder(adapter);
// 创建dataset示例
DataSet ds =
new DataSet();
// 打开连接
conn.Open();
//填充
adapter.Fill(ds,
"MES_aaaa");
//可以对获取到的数据进行操作。
DataTable table =
new DataTable(
"MES_aaaa");
//获取数据放到DataTable
table = ds.Tables[
"MES_aaaa"];
foreach (DataRow dr
in table.Rows)
///遍历所有的行
foreach (DataColumn dc
in table.Columns)
//遍历所有的列
Console.WriteLine(
"修改之前 :{0}, {1}, {2}", table.TableName, dc.ColumnName, dr[dc]);
//表名,列名,单元格数据
// Console.ReadKey();
//在dataset中修改值,
ds.Tables["MES_aaaa"].Rows[
0][
"a"] =
"飞刀大哥";
//如果有错,返回修改
if (ds.HasErrors)
{
ds.RejectChanges();
}
// Console.ReadKey();
//修改,自动生成修改sql命令
//ds.Tables["MES_aaaa"]
adapter.Update(ds,
"MES_aaaa");
conn.Close();
}
这中适合于简单表,复杂表结构最好还是老老实实写sql命令。
注意这里恢复是在 DataSet中所有表以及表中DataRow中的数据,也就是在此交次操作的数据全部恢复。如果我们只需要恢复部分内容,我们可以使用 DataTable或DataRow的RejectChanges()。
(2)
C#基础之使用DataSet与Datatable更新数据库的三种实现方法
标签:str reac 字符串 upd datatable key 遍历 返回 ase