C#将datagridview数据写入SQL表
我在SQL数据库中有一个四个coloum表。 前三个列的信息由另一个源提供。 coloum 4默认设置为null。
然后,我有一个带有数据表的win表单,该表单使用以下代码填充sql tabase中的信息:
public DataTable populateFormList() { SqlConnection con = new SqlConnection(Properties.Settings.Default.sqlConnectionString); SqlCommand cmd = new SqlCommand("SELECT * FROM of_formlist_raw", con); con.Open(); SqlDataReader reader = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(reader); return dt; } datagridview2.DataSource = populateFormList(); datagridview2.Refresh();
现在,它可以很好地获取我的数据。
然后,用户可以更改第4列中的空值。
如何轻松地将这些更改从数据表写回到SQL表中?
换句话说,一旦屏幕上的数据表具有附加值,我怎样才能将更新的信息存储回最初从中获取的SQL数据?
谢谢。
尝试这样的东西,只需传递(DataTable)datagridview2.DataSource
作为数据表:
private static void BulkInsertToSQL(DataTable dt, string tableName) { using (SqlConnection con = new SqlConnection(_DB)) { SqlBulkCopy sbc = new SqlBulkCopy(con); sbc.DestinationTableName = tableName; //if your DB col names don't match your data table column names 100% //then relate the source data table column names with the destination DB cols sbc.ColumnMappings.Add("DBAttributeName1", "DTColumnName1"); sbc.ColumnMappings.Add("DBAttributeName2", "DTColumnName2"); sbc.ColumnMappings.Add("DBAttributeName3", "DTColumnName3"); sbc.ColumnMappings.Add("DBAttributeName4", "DTColumnName4"); con.Open(); sbc.WriteToServer(dt); con.Close(); } }
2个选项,带或不带TableAdapter。
我建议在MSDN中阅读 TableAdapter
他们也在使用BindingSources,它们是优秀的组件,易于使用。
如果没有TableAdapter,请阅读 “使用命令对象更新记录”部分。
上述就是C#学习教程:C#将datagridview数据写入SQL表分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1029274.html