开发者社区> 问答> 正文

使用SqlDataAdapter插入行?mysql

我想使用SqlDataAdapter将行插入数据库。我在CustomerOrders数据库中有2个表(Custormers和Orders),并且有上千条记录。我想创建一个GUI(TextBoxes),用于将新客户和订单添加到数据库中的相应表中。

我该怎么办? 我猜通常遵循的方法是

dataAdapter = new SqlDataAdapter (sqlQuery, conn); dataSet = new DataSet(); da.Fill(dataSet); 现在,从文本框中获取值(或使用DataBinding)将新行添加到dataSet中并调用

da.Update(dataSet); 但是问题是为什么我首先应该使用da.Fill(dataSet)将所有其他记录提取到dataSet中?我只想添加一条新记录。

为此,我正在做的是在DataSet中创建数据库的架构。像这样:

DataSet customerOrders = new DataSet("CustomerOrders");

DataTable customers = customerOrders.Tables.Add("Customers"); DataTable orders = customerOrders.Tables.Add("Orders");

customers.Columns.Add("CustomerID", Type.GetType("System.Int32")); customers.Columns.Add("FirstName", Type.GetType("System.String")); customers.Columns.Add("LastName", Type.GetType("System.String")); customers.Columns.Add("Phone", Type.GetType("System.String")); customers.Columns.Add("Email", Type.GetType("System.String"));

orders.Columns.Add("CustomerID", Type.GetType("System.Int32")); orders.Columns.Add("OrderID", Type.GetType("System.Int32")); orders.Columns.Add("OrderAmount", Type.GetType("System.Double")); orders.Columns.Add("OrderDate", Type.GetType("System.DateTime"));

customerOrders.Relations.Add("Cust_Order_Rel", customerOrders.Tables["Customers"].Columns["CustomerID"], customerOrders.Tables["Orders"].Columns["CustomerID"]);
我使用DataBinding将这些列绑定到相应的文本框。现在我很困惑!接下来我该怎么办?如何使用插入命令?因为我没有提供任何dataAdapter.SelectCommand,所以我猜dataAdapter.Update()不能工作。请提出正确的方法。

展开
收起
保持可爱mmm 2020-05-17 19:55:50 814 0
1 条回答
写回答
取消 提交回答
  • 使用“ 0 = 1”过滤器设置选择命令,并使用SqlCommandBuilder,以便自动为您生成insert命令。

    var sqlQuery = "select * from Customers where 0 = 1"; dataAdapter = new SqlDataAdapter(sqlQuery, conn); dataSet = new DataSet(); dataAdapter.Fill(dataSet);

    var newRow = dataSet.Tables["Customers"].NewRow(); newRow["CustomerID"] = 55; dataSet.Tables["Customers"].Rows.Add(newRow);

    new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet);来源:stack overflow

    2020-05-17 20:01:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像