关于TableMappings.Add第一个参数的问题
2006-06-19 16:41
381 查看
经多次试验发现DA层的this.DataAdapter.TableMappings.Add方法的第一个参数只能为“Table”、“Table1”、“Table2”……,而且大小写要保持一致。SP返回一个结果集时用“Table”,返回两个结果集时一次使用“Table”、“Table1”。以此类推。
例:this.DataAdapter.TableMappings.Add("Table", updateConfirmDat.ParentRecord.TableName);
this.DataAdapter.TableMappings.Add("Table1", updateConfirmDat.ParentRecordCount.TableName);
调查原因时,在オブジェクトブラウザ查到TableMappings.Add的第一个参数为sourceTable,第二个参数为dataSetTable。还有,对基类用到的DbDataAdapter的Fill方法有如下描述。
public override System.Int32 Fill ( System.Data.DataSet dataSet )
System.Data.Common.DbDataAdapter のメンバ
概要 :
System.Data.DataSet 名を使用して、データ ソース内の行と一致するように、System.Data.DataSet 内の行を
追加または更新します。また、Table という名前の System.Data.DataTable を作成します。
パラメータ :
dataSet: レコードおよび必要に応じてスキーマを格納するための System.Data.DataSet。
戻り値 :
System.Data.DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響 を受ける行は含まれません。
我的理解,TableMappings.Add方法是把データ ソース(数据库)中的表映射到DataSet中的表上。Fill(System.Data.DataSet dataSet)方法执行指定的SQL文,把数据从データ ソース表提取到DataSet表。但这只是用于单表查询,不适用于多表查询和使用存储过程。由于存储过程返回的结果集没有对应的データ ソース表,则被Fill方法按返回顺序做成了以“Table”、“Table1”、“Table2”……为名称的DataTable。再根据TableMappings中的映射追加或更新到DataSet中。
所以,向TableMappings中Add表名时,应依照调用的SP中查询结果集的顺序设置接收结果的表。
另外,若要改变TableMappings中“Table”的映射目标表,可用下面的语句:
DataAdapter.TableMappings["Table"].DataSetTable = DataSet.DataTable.TableName
在CSDN上找到一个沾点儿边的帖子,给了些启发。
dataset中TableMappings的tablename问题?
http://community.csdn.net/Expert/topic/4295/4295686.xml?temp=.783169
例:this.DataAdapter.TableMappings.Add("Table", updateConfirmDat.ParentRecord.TableName);
this.DataAdapter.TableMappings.Add("Table1", updateConfirmDat.ParentRecordCount.TableName);
调查原因时,在オブジェクトブラウザ查到TableMappings.Add的第一个参数为sourceTable,第二个参数为dataSetTable。还有,对基类用到的DbDataAdapter的Fill方法有如下描述。
public override System.Int32 Fill ( System.Data.DataSet dataSet )
System.Data.Common.DbDataAdapter のメンバ
概要 :
System.Data.DataSet 名を使用して、データ ソース内の行と一致するように、System.Data.DataSet 内の行を
追加または更新します。また、Table という名前の System.Data.DataTable を作成します。
パラメータ :
dataSet: レコードおよび必要に応じてスキーマを格納するための System.Data.DataSet。
戻り値 :
System.Data.DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響 を受ける行は含まれません。
我的理解,TableMappings.Add方法是把データ ソース(数据库)中的表映射到DataSet中的表上。Fill(System.Data.DataSet dataSet)方法执行指定的SQL文,把数据从データ ソース表提取到DataSet表。但这只是用于单表查询,不适用于多表查询和使用存储过程。由于存储过程返回的结果集没有对应的データ ソース表,则被Fill方法按返回顺序做成了以“Table”、“Table1”、“Table2”……为名称的DataTable。再根据TableMappings中的映射追加或更新到DataSet中。
所以,向TableMappings中Add表名时,应依照调用的SP中查询结果集的顺序设置接收结果的表。
另外,若要改变TableMappings中“Table”的映射目标表,可用下面的语句:
DataAdapter.TableMappings["Table"].DataSetTable = DataSet.DataTable.TableName
在CSDN上找到一个沾点儿边的帖子,给了些启发。
dataset中TableMappings的tablename问题?
http://community.csdn.net/Expert/topic/4295/4295686.xml?temp=.783169
相关文章推荐
- SqlDataAdapter.TableMappings.Add()和SqlDataAdapter.Update()的参数问题。
- 关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- 关于setTimeout 第一个参数的问题解析
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- VC 程序只运行一个进程,再次运行传参数给第一个进程的问题
- 关于Struts 2 拦截器参数丢失问题 ,拦截器原理和实现
- 关于AJAX.net的一个问题:回发或回调参数无效!
- 关于ubuntu12.04.1上修改MySQL的my.cnf参数配置文件问题
- 关于AJAX.net的一个问题:回发或回调参数无效!
- 关于在Struts2的Action中使用domain模型接收参数的问题
- [原创]关于《精通QT4编程》第一个例子无法编译的问题的解答
- c++关于类型强转后作为引用参数的一些问题
- 关于a标签中js函数function(va1,va2)方法传递中文参数报错不执行的问题解答
- 关于标签在URI后面传参数的问题
- 关于Regex.Replace只替换第一个的问题
- 关于WindowManager.addview()的问题
- 关于C++模板封装的问题(关于C++模板参数的声明)
- java中关于参数传递问题的解释(传值与传引用的若干问题的解释)
- swift关于scrollview与tableview的问题