如何使用ADO.NET在C#中从SQL Server检索数据?
您能告诉我如何将数据从SQL Server检索到C#(Windows窗体应用程序)吗 假设我有一个文本框,我需要用SQL Server中的数据填充它,其中的'emp_id=something'例如,如果没有DataGridView,我怎么做 或者再举一个例子:如何使用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名称空间中,该名称空间记录在此处
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
;所以你应该采取额外的预防措施