C# DataAdapter是否从基表架构中选择字符串?
当我构建.xsd时,我必须为每个表选择列,它为表创建了一个模式,对吗?那么,我如何才能获得那个Select字符串作为dataadapters新实例的基本Select命令,然后根据需要向其追加Where和OrderBy子句呢 这将使我不必使每个DataAdapter的字段列表(对于同一个表)与.xsd文件中该表的模式保持同步 在特定的表模式上使用多个DataAdapter,但在Where和OrderBy子句中使用不同的参数,这不是很常见吗?当然,人们不必维护(甚至冗余地构建)半打数据适配器的Select字符串的字段列表部分,这些数据适配器都使用相同的表模式 我设想的是这样的伪代码:C# DataAdapter是否从基表架构中选择字符串?,c#,xsd,schema,strongly-typed-dataset,dataadapter,C#,Xsd,Schema,Strongly Typed Dataset,Dataadapter,当我构建.xsd时,我必须为每个表选择列,它为表创建了一个模式,对吗?那么,我如何才能获得那个Select字符串作为dataadapters新实例的基本Select命令,然后根据需要向其追加Where和OrderBy子句呢 这将使我不必使每个DataAdapter的字段列表(对于同一个表)与.xsd文件中该表的模式保持同步 在特定的表模式上使用多个DataAdapter,但在Where和OrderBy子句中使用不同的参数,这不是很常见吗?当然,人们不必维护(甚至冗余地构建)半打数据适配器的Sel
BaseSelectString = MyTypedDataSet.JobsTable.GetSelectStringFromSchema() // Is there such a method or technique?
WhereClause = " Where SomeField = @Param1 and SomeOtherField = @Param2"
OrderByClause = " Order By Field1, Field2"
SelectString=BaseSelectString + WhereClause + OrderByClause
OleDbDataAdapter adapter = new OleDbDataAdapter(SelectString, MyConn)
每个表都有一个默认查询(顶部带有复选框的查询)。当您将表拖到数据集中以创建查询时,它会编写一条SQL语句,用于对表进行架构。保持该查询的简单,您可能不会在代码中实际使用它,并且您可以始终编辑该查询以更新表架构 每次打开默认查询时,它都会连接到数据源,并允许您选择以前不在其中的新列。如果要更新现有列,请在尝试打开查询之前删除表中的所有列。保存查询时,更新的列将被重新添加 确保您的连接字符串具有查看列信息的权限 您可以向单个TableAdapter添加多个查询。设计器中的TableAdapters显示为分区,顶部为表架构,底部为查询。默认查询将控制哪些列可用于其他查询的输出。要添加其他查询,请右键单击TableAdapter并选择“添加->查询”,或者如果您正在选择TableAdapter的底部,则可以选择“添加查询…”。您创建的任何新SQL查询都将从默认查询中的SQL开始。为每个新查询指定一个方法名称,可以使用该名称代替默认查询的“Fill”或“GetData”方法。假设每个新查询都有一个与默认查询匹配的结果集,即使它们可以有不同的“where”子句参数 总之
- 每个表可能只有一个TableAdapter,只需添加多个查询即可
- 每个附加查询可以有不同的“Where”子句参数,只要它们都返回相同的列