Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据表SQL Server到变量C#_C#_Sql_.net_Sql Server - Fatal编程技术网

数据表SQL Server到变量C#

数据表SQL Server到变量C#,c#,sql,.net,sql-server,C#,Sql,.net,Sql Server,我有一个问题,因为我无法用英语将表中的数据输入变量error: 列“id”不属于该表 代码 您的数据表不包含列 cmd.Connection = con; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("login", typeof(string)); dt.Columns.Add("p

我有一个问题,因为我无法用英语将表中的数据输入变量error:

列“id”不属于该表

代码


您的数据表不包含列

cmd.Connection = con;

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();

dt.Columns.Add("id", typeof(int));
dt.Columns.Add("login", typeof(string));
dt.Columns.Add("password", typeof(string));
dt.Columns.Add("mail", typeof(string));
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
    RelacjaINT = Convert.ToInt32(dr["id"]);
}

检查数据库中“id”列的数据类型,然后将其转换为适当的int,double

欢迎使用SO。问问题的一个很好的经验法则是,一个专业人士帮助你解决问题,如果你在问问题时付出的努力超过你所付出的努力的10%,那是相当合理的。。因此,如果你的问题可以用2.7个单词来回答,就让它站起来吧。。否则,您可能需要添加更多的细节!:)该错误意味着查询没有返回名为
id
的列。查询是什么样子的?结果如何?在调用
.Fill()
之后,调试代码并检查
dt
的内容,尤其是
集合。另外,您不检查是否有任何结果。如果查询没有返回任何结果,
dt。行[0]
将通过它们,而不必通过
Fill
将添加数据适配器返回的任何列,而不是我的下一票,但这在文档和教程中有介绍。使用
Convert.ToInt32(dr[“id”])
也不会被使用-如果
id
是一个数字列,则其内容已经是整数或小数。否则,它们需要解析。检查并输入docsPanagiotis Kanavos。错误的Fill()只填充DataTable中的数据,不创建列。此示例SqlDataAapter不包含列SqlDataAdapter da=newSQLDataAdapter(cmd);如果表没有列,您将如何访问这些值?这也不是什么新鲜事,ADO.NET自2002年以来就是这样工作的。这就是我在评论中发布的文档和链接中显示的内容。有两种加载数据的方法—一种是使用类型化数据集和表(在这种情况下,您需要提前指定所有列),另一种是直接或通过适配器从DbDataReader加载DataTable。在本例中,列是根据结果生成的。这不是类型转换错误。它特别指出,
id
列不存在。为什么双列类型是int
cmd.Connection = con;

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();

dt.Columns.Add("id", typeof(int));
dt.Columns.Add("login", typeof(string));
dt.Columns.Add("password", typeof(string));
dt.Columns.Add("mail", typeof(string));
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
    RelacjaINT = Convert.ToInt32(dr["id"]);
}