首页 / C# / C#ADO.NET基础二
C#ADO.NET基础二
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#ADO.NET基础二,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2722字,纯文字阅读大概需要4分钟。
内容图文
![C#ADO.NET基础二](/upload/InfoBanner/zyjiaocheng/833/99933b12d28f48f2817ac7a3fa7a9360.jpg)
DataAdapter的使用,批量增删改
1.使用DataAdapter查询
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037630.jpg)
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037640.jpg)
private void Select2() { try { using (SQLiteConnection conn = new SQLiteConnection(connStrl)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select name,age from test"; DataTable dataTable = new DataTable(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(dataTable); if (dataTable != null) { for (int i = 0; i < dataTable.Rows.Count; i++) { DataRow row = dataTable.Rows[i]; string name = row["name"].ToString(); int age = int.Parse(row["age"].ToString()); textBox1.Text += $"name:{name} age:{age}\r\n"; } } } } } catch (Exception) { throw; } }View Code
2.批量增
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037630.jpg)
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037640.jpg)
private void btnBatchAdd_Click(object sender, EventArgs e) { try { using (SQLiteConnection conn = new SQLiteConnection(connStrl)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select id,name,age from test"; DataTable dataTable = new DataTable(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(dataTable); for (int i = 0; i < 10; i++) dataTable.Rows.Add(null, "张8", 20); SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter); adapter.Update(dataTable.GetChanges()); dataTable.AcceptChanges(); } } } catch (Exception ex) { throw; } }View Code
3.批量改
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037630.jpg)
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037640.jpg)
private void btnBatchUpdate_Click(object sender, EventArgs e) { try { using (SQLiteConnection conn = new SQLiteConnection(connStrl)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select id,name,age from test"; DataTable dataTable = new DataTable(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(dataTable); foreach (DataRow row in dataTable.Rows) { if (row["name"].ToString() == "张8") row["name"] = "张一"; } SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter); adapter.Update(dataTable.GetChanges()); dataTable.AcceptChanges(); } } } catch (Exception ex) { throw; } }View Code
4.批量删
注意:DataTable的删除只能用 dataTable.Rows[i].Delete()不能用DataRow.RemoveAt和DataRow.Remove,否则更新数据库不成功
参考:https://www.cnblogs.com/zouhao/p/9977767.html
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037630.jpg)
![C#ADO.NET基础二 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506023037640.jpg)
private void btnBatchDelete_Click(object sender, EventArgs e) { try { using (SQLiteConnection conn = new SQLiteConnection(connStrl)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select id,name,age from test"; DataTable dataTable = new DataTable(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(dataTable); for (int i = 0; i < dataTable.Rows.Count; i++) dataTable.Rows[i].Delete(); SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter); adapter.Update(dataTable.GetChanges()); dataTable.AcceptChanges(); } } } catch (Exception ex) { throw; } }View Code
5.总结
针对DataSet或者DataTable进行的增,删,改操作,可以合在一起批量执行。
内容总结
以上是互联网集市为您收集整理的C#ADO.NET基础二全部内容,希望文章能够帮你解决C#ADO.NET基础二所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。