Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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
C# SqlDataReader可以';即使发现了一些东西,也不能读取数据_C#_Asp.net_.net_Sql Server - Fatal编程技术网

C# SqlDataReader可以';即使发现了一些东西,也不能读取数据

C# SqlDataReader可以';即使发现了一些东西,也不能读取数据,c#,asp.net,.net,sql-server,C#,Asp.net,.net,Sql Server,正如标题所说,SqlDataReader无法读取它找到的数据。我正在查询一个特定的表,以便在以后向另一个表添加数据时使用用户名。读取器查找结果(reader.HasRows为true),但无法读取结果。代码如下: Connection.Open(); Command = new SqlCommand("SELECT ID FROM Users WHERE Username = @Username", Connection); Command.Parameters.Add("@Username",

正如标题所说,SqlDataReader无法读取它找到的数据。我正在查询一个特定的表,以便在以后向另一个表添加数据时使用用户名。读取器查找结果(reader.HasRows为true),但无法读取结果。代码如下:

Connection.Open();
Command = new SqlCommand("SELECT ID FROM Users WHERE Username = @Username", Connection);
Command.Parameters.Add("@Username", TextBox1.Text);
SqlDataReader Reader = Command.ExecuteReader();

if (Reader.HasRows)
{
    var ID = Reader[0];
    Reader.Close();
    Command = new SqlCommand("INSERT INTO Locations (User_ID,Location,Date) VALUES (@User_ID,@Location,GETDATE())", Connection);
    Command.Parameters.Add("@User_ID", ID);
    Command.Parameters.Add("@Location", TextBox2.Text);
    Command.ExecuteNonQuery();
}
else
{
    ErrorLabel.Text = "Username could not be found.";
}

您必须调用Reader.Read()才能前进到下一行


您必须调用Reader.Read()才能前进到下一行

是的。你从不读书

while(Reader.Read()){ }

而不是,如果有

你必须叫雷德。就像每一个教程节目一样。

是的。你从不读书

while(Reader.Read()){ }

而不是,如果有


你必须叫雷德。就像每个教程所显示的一样。

使用
if(reader.Read())
而不是
if(reader.HasRows)
使用
if(reader.Read())
而不是
if(reader.HasRows)
您需要在reader上调用
Read
方法

例如


更多信息请参见。

您需要在reader上调用
Read
方法

例如

更多信息请参见。

我会这样做:

 while (Reader.HasRows())     
{        
    Reader.Read();
    string ID = Reader["ID"].ToString();
    ...
}
我会这样做:

 while (Reader.HasRows())     
{        
    Reader.Read();
    string ID = Reader["ID"].ToString();
    ...
}