Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
如何使用ADO.NET在C#中从SQL Server检索数据?_C#_Sql Server_Ado.net - Fatal编程技术网

如何使用ADO.NET在C#中从SQL Server检索数据?

如何使用ADO.NET在C#中从SQL Server检索数据?,c#,sql-server,ado.net,C#,Sql Server,Ado.net,您能告诉我如何将数据从SQL Server检索到C#(Windows窗体应用程序)吗 假设我有一个文本框,我需要用SQL Server中的数据填充它,其中的'emp_id=something'例如,如果没有DataGridView,我怎么做 或者再举一个例子: SELECT sum(column) FROM table_name 如何获取上述命令的值(也没有DataGridView)?您需要使用直接的数据库访问,例如在System.Data.SqlClient名称空间中,该名称空间记录在此处

您能告诉我如何将数据从SQL Server检索到C#(Windows窗体应用程序)吗

假设我有一个文本框,我需要用SQL Server中的数据填充它,其中的'emp_id=something'例如,如果没有DataGridView,我怎么做

或者再举一个例子:

SELECT sum(column) FROM table_name

如何获取上述命令的值(也没有DataGridView)?

您需要使用直接的数据库访问,例如在System.Data.SqlClient名称空间中,该名称空间记录在此处


基本上,可以查看创建SQLConnection和SQLCommand并使用它们检索数据。

您需要使用直接数据库访问,例如在System.data.SqlClient名称空间中,这里有文档记录

基本上,查找创建SQLConnection和SQLCommand并使用它们检索数据。

填充文本框:

using (var sqlConnection = new SqlConnection("your_connectionstring"))
{
    sqlConnection.Open();

    using (var sqlCommand = sqlConnection.CreateCommand())
    {
        sqlCommand.CommandText = "select sum(field) from your_table";

        object result = sqlCommand.ExecuteScalar();

        textBox1.Text = result == null ? "0" : result.ToString();
    }

    sqlConnection.Close();

}
要读取多行,可以查看SqlCommand.ExecuteReader()

填充文本框:

using (var sqlConnection = new SqlConnection("your_connectionstring"))
{
    sqlConnection.Open();

    using (var sqlCommand = sqlConnection.CreateCommand())
    {
        sqlCommand.CommandText = "select sum(field) from your_table";

        object result = sqlCommand.ExecuteScalar();

        textBox1.Text = result == null ? "0" : result.ToString();
    }

    sqlConnection.Close();

}

要读取多行,可以查看SqlCommand.ExecuteReader()

有多种方法可以实现这一点。您可以使用
DataReader
DataSet
\
DataTable
。它们分别是连接的和断开的体系结构。如果只想检索一个值,也可以使用
ExecuteScalar

建议:

  • 使用块将
    SqlConnection
    (以及任何其他
    IDisposable
    对象)括在
    中。我的代码使用
    try catch
  • 始终使用参数化查询
下面是在查询返回多行时使用
DataReader
的一些示例代码。代码是从中复制的


如果查询返回单个值,则可以继续使用上述代码,除了
SqlDataReader
。使用
int count=cmd.ExecuteScalar()。请注意,
ExecuteScalar
可能返回
null
;所以你应该采取额外的预防措施。

实现这一点有多种方法。您可以使用
DataReader
DataSet
\
DataTable
。它们分别是连接的和断开的体系结构。如果只想检索一个值,也可以使用
ExecuteScalar

建议:

  • 使用
块将
SqlConnection
(以及任何其他
IDisposable
对象)括在
中。我的代码使用
try catch
  • 始终使用参数化查询
  • 下面是在查询返回多行时使用
    DataReader
    的一些示例代码。代码是从中复制的

    如果查询返回单个值,则可以继续使用上述代码,除了
    SqlDataReader
    。使用
    int count=cmd.ExecuteScalar()。请注意,
    ExecuteScalar
    可能返回
    null
    ;所以你应该采取额外的预防措施