嗨,我真的很困惑让我先解释一下。我正试图从北风中检索数据。 在订单表中,第一列是OrderID,第二列是CustomerID
Console.Write(读取器[0]的ToString());
像这样使用我可以得到值1248,1249,1250等等。正如预期的那样。但是如果我使用这种方式如下。
Console.Write(reader[0].ToString());
Console.Write(" ----------------");
Console.WriteLine(reader[1].ToString());
此次订单的数据完全不同。如果您查看订单表,您会看到此数据不属于OrdersTable。请您帮忙吗?
10779 Mork
10780 Lilas
这是完整的代码
string SQL = "SELECT * FROM Orders";
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(SQL);
cmd.Connection = conn;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
try
{
while (reader.Read())
{
// Console.Write( reader.GetString(1).ToString());
Console.Write(reader[0].ToString());
Console.Write(" ----------------");
Console.WriteLine(reader[1].ToString());
// Console.WriteLine("Customer:" + reader.GetString(1).ToString());
}
Console.ReadLine();
}
finally
{
reader.Close();
conn.Close();
}
答案 0 :(得分:0)
Console.Write(reader.GetString(0));
Console.Write(" ----------------");
Console.WriteLine(reader.GetString(1));
或reader.GetInt32(n)
取决于哪些类型?
假设您在每行的前两列之后?
编辑:我认为我最初读错了这个问题,你说当你从this schema查询订单表时,你得到序号位置1的名字,即第二栏?
基于这个架构,我搜索了vinet并看到了这个link,你可以看到海报正在查询customerId == 'VINET'
,所以我怀疑你看到的结果是正确的。尝试运行:
SELECT * FROM Orders WHERE CustomerID = 'VINET'