我想在C#中运行一个SQL语句
这是代码:
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection(
@"Data Source=loninasd023.xx.xx.com;Initial
Catalog=DB.Manager.Data;Integrated Security=SSPI;");
if (impersonateValidUser("svc_mgr", "USERNAME", "PASSWORD"))
{
conn.Open();
SqlCommand cmd = new SqlCommand(
"SELECT [data_check_info] FROM [DB.Manager.Data].[dbo].[server_package_status]",
conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader);
}
reader.Close();
conn.Close();
}
else
{
Console.WriteLine("The impersonation failed.");
Environment.Exit(100);
}
}
Run Code Online (Sandbox Code Playgroud)
该程序打印这个:
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
SqlDataReader.ToString()method返回类型的完整类型名称.这就是它返回的原因System.Data.SqlClient.SqlDataReader.
实际上,这是通过Console.WriteLine因为没有Console.WriteLine(SqlDataReader)调用Console.WriteLine(object)过载来实现的,这就是为什么它调用重载并且在这个方法中,object.ToString()可能会调用.
Read()方法逐行读取结果.
您可以轻松地将您的值索引0为reader[0]
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |