SqlCommandBuilder问题

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}DataSetds=newDataSet();SqlDataAdaptersda=newSqlDataAdapter();privatevoidForm1_Load(objectsender,EventArgse){load();}//窗体加载显示数据publicvoidload(){stringcnt="datasource=.;initialcatalog=ly;userid=sa;pwd=123";SqlConnectionconn=newSqlConnection(cnt);stringsql="select*fromtable1";conn.Open();SqlDataAdaptersda=newSqlDataAdapter(sql,conn);sda.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0];}//点击按钮更新privatevoidbutton1_Click(objectsender,EventArgse){DialogResultresult=MessageBox.Show("确认修改吗?","友情提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);if(result==DialogResult.Yes){SqlCommandBuilderscb=newSqlCommandBuilder(sda);sda.Update(ds,"table1");//MessageBox.Show("修改成功啥的");}}}}

解决方案

解决方案二:
问题是什么?
解决方案三:
这是神马意思
解决方案四:
抱歉哦,忘记说了,datagridview显示出来了数据,单元格是可编辑的!我修改了数据,然后点按钮保存修改,有错误!!错误提示是:Update无法找到TableMapping['table']或DataTable"table1"
解决方案五:
大神帮忙看看是哪里出问题了,学习中~~~
解决方案六:
引用3楼的回复:

抱歉哦,忘记说了,datagridview显示出来了数据,单元格是可编辑的!我修改了数据,然后点按钮保存修改,有错误!!错误提示是:Update无法找到TableMapping['table']或DataTable"table1"

内存中并不存在table1,所以之前你得指定一下。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}DataSetds=newDataSet();SqlDataAdaptersda=newSqlDataAdapter();privatevoidForm1_Load(objectsender,EventArgse){load();}//窗体加载显示数据publicvoidload(){stringcnt="datasource=.;initialcatalog=ly;userid=sa;pwd=123";SqlConnectionconn=newSqlConnection(cnt);stringsql="select*fromtable1";conn.Open();SqlDataAdaptersda=newSqlDataAdapter(sql,conn);sda.Fill(ds,"table1");//指定一个别名table1this.dataGridView1.DataSource=ds.Tables[0];}//点击按钮更新privatevoidbutton1_Click(objectsender,EventArgse){DialogResultresult=MessageBox.Show("确认修改吗?","友情提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);if(result==DialogResult.Yes){SqlCommandBuilderscb=newSqlCommandBuilder(sda);sda.Update(ds,"table1");//这里才可以找到的//MessageBox.Show("修改成功啥的");}}}}
解决方案七:
绑定时指定table名字,试试this.dataGridView1.DataSource=ds.Tables["table1"];
解决方案八:
引用6楼的回复:

绑定时指定table名字,试试this.dataGridView1.DataSource=ds.Tables["table1"];

好点的写法sda.Fill(ds,"table1");//以下更改DataTabe中的数据DataTabledt=ds.Tables["table1"];this.dataGridView1.DataSource=dt;
解决方案九:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}DataSetds=newDataSet();SqlDataAdaptersda=newSqlDataAdapter();privatevoidForm1_Load(objectsender,EventArgse){load();}//窗体加载显示数据publicvoidload(){stringcnt="datasource=.;initialcatalog=ly;userid=sa;pwd=123";SqlConnectionconn=newSqlConnection(cnt);stringsql="select*fromtable1";conn.Open();SqlDataAdaptersda=newSqlDataAdapter(sql,conn);sda.Fill(ds,"table1");//需要指定一下别名this.dataGridView1.DataSource=ds.Tables[0];}//点击按钮更新privatevoidbutton1_Click(objectsender,EventArgse){DialogResultresult=MessageBox.Show("确认修改吗?","友情提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);if(result==DialogResult.Yes){SqlCommandBuilderscb=newSqlCommandBuilder(sda);sda.Update(ds,"table1");//MessageBox.Show("修改成功啥的");}}}}
解决方案十:
奇怪,我5楼的回答哪去了??

时间: 2024-08-03 11:35:45

SqlCommandBuilder问题的相关文章

asp.net中使用sqlcommandbuilder

asp.net 中使用sqlcommandbuilder,用它来产生增加,删除,选择等SQL语句,也比较方便的,下面给出个例子  Private Sub UseCommandBuilder() Dim connectionString As String = _ "Integrated Security=SSPI;Persist Security Info=False;" + _ "Initial Catalog=Northwind;Data Source=LAP800&qu

SqlCommandBuilder如何实现批量更新_实用技巧

一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现SqlDataAdapter.Update(ds)更新时出错情况,因为系统会自动生成SqlDataAdapter的属性命令,比如: .UpdateCommane insertCommand selectCommand等.  但是有些程序员不喜欢用设计器,或者是有些地方没必要拖动SqlDataAdapter这么个庞大物来实现,那么SqlDataAdapter就不会自动生成相关的查询或更新语句了. 所以当执行到SqlD

SqlCommandBuilder 是干嘛用的?

问题描述 SqlCommandBuilder是干嘛用的?//使用DataSet更新数据库publicintUpdateDataSet(DataSettargetDS,stringQueryString,stringtableName){Database_db=LIFTGetConnection.LIFTConnectionString();SqlCommandcmd=(SqlCommand)_db.GetSqlStringCommand(QueryString);cmd.Connection=_

如何用sqldataadapter﹐sqlcommandbuilder更新多個表

问题描述 如何用sqldataadapter﹐sqlcommandbuilder更新多個表 解决方案 解决方案二:http://topic.csdn.net/u/20080605/08/8d82898d-672d-4123-87a7-17c83384419a.html

SqlCommandBuilder类批量更新excel或者CSV数据的方法_实用技巧

当你批量操作数据的时候,常常会使用到update table1 from table2的这种方式,这种方式是最简洁的. 但当你从excel或者CSV文件更新海量数据时,再使用这种方法,那性能是不是好?字符串拼接又何其之多,大数据是不是需要分组更新? 我不想去检测各种方法的速度,因为我个人比较认可以下方式,欢迎大家批评与指正. 我需要使用到的类主要是SqlCommandBuilder. /// <param name="table">准备更新的DataTable新数据<

如何得到sqlcommandbuilder﹐sqldataadpter自動產生的updatecommand,deletecommand,insertcommand的完整sql語句。

问题描述 如何得到sqlcommandbuilder﹐sqldataadpter自動產生的updatecommand,deletecommand,insertcommand的完整sql語句. 解决方案 解决方案二:up解决方案三:SqlConnectionconnection=newSqlConnection(connectionString);SqlDataAdapteradapter=newSqlDataAdapter();adapter.SelectCommand=newSqlComman

SqlcommandBuilder的用法,它有什么作用?Sqlcommand与sqldataAdapter有什么区别?

问题描述 请问高手们:SqlcommandBuilder的用法,它有什么作用?Sqlcommand与sqldataAdapter有什么区别? 解决方案 解决方案二:SqlcommandBuilder:创建SQLCOMMAND对象Sqlcommand:命令对象,用于执行命令.sqldataAdapter:适配器,用来用来FILL数据表或数据集.解决方案三:Sqlcommand顾名思义就是sql的命令啊~~~sqldataAdapter顾名思义就是sql数据的抓取~~解决方案四:引用1楼xray20

“UpdateDataBase”方法没有任何重载采用“1”个参数

问题描述 "UpdateDataBase"方法没有任何重载采用"1"个参数 public DataSet UpdateDataBase(DataSet changedDataSet string tableName) { this.myConnection = new SqlConnection(connectionString); this.da = new SqlDataAdapter(this.strSQL this.myConnection); this.s

C# 设计模式----抽象工厂模式

原文地址:C#设计模式(4)--抽象工厂模式 一.引言 在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性.但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,一个工厂创建一系列的产品,如果我们要设计这样的系统时,工厂方法模式显然在这里不适用,然后抽象工厂模式却可以很好地解决一系列产品创建的问题,这是