C#SQL Server数据库查询
问题描述:
我写了下面的代码来查询SQL Server数据库中的东西。第一个阅读器中的查询有效,但不在第二个阅读器中。我似乎无法弄清楚为什么这两种阅读器的方法完全一样。任何帮助深表感谢。C#SQL Server数据库查询
这些命令的参数在上面的函数中给出,它不在代码中。
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "...";
conn.Open();
SqlCommand command = new SqlCommand("SELECT stuff FROM table WHERE Belegnummer= @n and [email protected]", conn);
command.Parameters.Add(new SqlParameter("n", nr));
command.Parameters.Add(new SqlParameter("j", jahr));
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
r = reader.GetInt32(0);
}
}
command.Dispose();
SqlCommand command2 = new SqlCommand("SELECT stuff1, stuff2, stuff3 FROM sameTable WHERE BelID = @rnr", conn);
command2.Parameters.Add(new SqlParameter("rnr", r));
using (SqlDataReader reader2 = command2.ExecuteReader())
{
while (reader2.Read())
{
// variables are defined somewhere above
b = reader2.GetInt32(0);
j = reader2.GetInt32(1);
m = reader2.GetInt32(2);
}
}
}
答
请张贴错误信息,以及。
您可能会遇到DbNull值的问题。检查的DBNull您解析与前值:
SqlReader.IsDBNull(column)
或者将数据加载到一个DataTable:
DataTable dt = new DataTable();
using (SqlDataReader reader = cmd1.ExecuteReader())
{
dt.Load(reader);
}
什么是你所得到的例外呢? –
另外定义“不起作用” - 你期待的结果是什么,以及你变得怎么样? –
有什么不成? –