C# 在SQL Server记录中循环
我来自数据背景,对C#完全陌生。但是我想学习一些东西,并尝试使用sql Server数据库的内容生成一些C# 在SQL Server记录中循环,c#,sql-server,C#,Sql Server,我来自数据背景,对C#完全陌生。但是我想学习一些东西,并尝试使用sql Server数据库的内容生成一些.sql文件。我已经试了一整天了,我想我已经接近我需要的了。我现在有下面列出的代码 当我启用时: System.Data.DataTable schema = conn.GetSchema("TABLES"); 一切正常,它给了我一个完整的模式列表。但是我不想循环模式,我想循环该行下面列出的查询提供的记录 有人能给这个C#n00b一个解决方案或提示吗?我想要的是一种不循
.sql
文件。我已经试了一整天了,我想我已经接近我需要的了。我现在有下面列出的代码
当我启用时:
System.Data.DataTable schema = conn.GetSchema("TABLES");
一切正常,它给了我一个完整的模式列表。但是我不想循环模式,我想循环该行下面列出的查询提供的记录
有人能给这个C#n00b一个解决方案或提示吗?我想要的是一种不循环模式的方法,而是通过查询的输出。我尝试了command.rows、ad.rows和ds.rows。但那不好。有没有一种方法可以将查询输出放入一个var中,这样我就可以循环使用它
<#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".sql" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.xml" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="System.Data" #>
<#
string connectionString = "myconnectionstring";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
//System.Data.DataTable schema = conn.GetSchema("TABLES");
string selectQuery = "select * from [config].[SourcesAndObjects]";
SqlCommand command = new SqlCommand(selectQuery,conn);
SqlDataAdapter ad = new SqlDataAdapter(command);
System.Data.DataSet ds = new DataSet();
foreach(System.Data.DataRow row in schema.Rows)
{
#>
CREATE TABLE <#= row["TABLE_NAME"].ToString().Trim('s') #>
{
<#
command.CommandText = selectQuery.ToString();
ad.FillSchema(ds, SchemaType.Mapped, row["TABLE_NAME"].ToString());
foreach (DataColumn dc in ds.Tables[0].Columns)
{
#>
[<#= dc.ColumnName #>] AS <#= dc.DataType.Name #>
{
[<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString()) #>],
}
<# } #>
}
<#
} #>
}
创建表
{
[]作为
{
[],
}
}
}
您到底被困在哪里?请求提示的范围太广了,我被foreach循环循环通过模式变量的问题所困扰,这个模式变量被填充为:conn.GetSchema(“TABLES”);我想循环一个变量,该变量保存查询的输出。。。但我有一个select查询,我想它是执行的,但我尝试循环通过command.Rows或ad.Rows或ds.Rows,但这给了我错误,表明这是不可能的。所以我希望听到如何用查询结果创建一个var,这样我就可以循环使用它。请回答这个问题,这样观众就不必筛选评论来找到所有相关信息。当你在做的时候,展开描述。你明白你的意思,但我们没有一个人在你的脑海里(我想)。通读一下课堂文档。也许您想调用ad.Fill(ds)
来检索结果集,而不是ad.FillSchema(ds)
来检索模式?谢谢@AlwaysLearning。这才是我真正需要的。我现在让它工作了!