在命令行中使用返回的SQL数据,最终获得winforms

时间:2014-04-13 23:54:55

标签: c# sql sql-server

基本上我想要做的是从sql server请求行并使用它返回的数据。

SELECT customer, postcode FROM all_customers WHERE hometown = london

然后我想先使用Console.WriteLine打印所有返回的字段,然后将每行中的值分配给变量以便进一步操作。

我下面有一个字符串似乎可以正常编译,但是当涉及到运行程序时,我似乎无法与返回的任何数据进行交互,如果确实有任何返回的话。我尝试了许多解决方案但没有成功。

SqlConnection sqlConnection1 = new SqlConnection("Connection String");

SqlCommand cmd = new SqlCommand();
SqlDataReader reader;

cmd.CommandText = "SQL Query";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;

sqlConnection1.Open();

reader = cmd.ExecuteReader();

sqlConnection1.Close();

1 个答案:

答案 0 :(得分:0)

您需要阅读通过调用ExecuteReader()返回的记录。

using (var reader = cmd.ExecuteReader())
{
    // Loop through the records
    while (reader.Read())
    {
        // Get value in columns 1 and 2, assuming they're a string and int
        var someValue = reader.GetString(0);
        var someId = reader.GetInt32(1);

        // Or get by the column name:
        var someValue = reader["some_column"].ToString();
        var someId = Convert.ToInt32(reader["another_column"]);
    }
}