Visual Studio C# 2010 SqlCommand Select
本文关键字:SqlCommand Select 2010 Studio Visual | 更新日期: 2024-10-31 07:54:31
我想执行如下SqlCommand
:
SqlCommand com = "(SELECT * FROM tblEmployee WHERE Username = 'Venz')";
我真的不知道这是否有效!但是,如果它确实如此,如果它满足正确的条件,我将如何获得 com 中的数组?因为在选择用户名等于 Venz 的tblEmployee
后,我想输出如下:
Console.WriteLine(com.Username);
在PHP中,这真的很容易,但是我是C#的新手,所以我遇到了困难
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = ConsoleApplication1.Properties.Settings.Default.ConnectionString;
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
string cmd = "(SELECT * FROM tblEmployee WHERE Username = 'Venz')";
using (SqlCommand command = new SqlCommand(cmd, con))
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine( reader["Username"].ToString());
}
}
}
}
}
您可以在没有 while 循环的情况下执行此操作,如下所示,但如果没有返回结果,则可能会出错
using (SqlDataReader reader = command.ExecuteReader())
{
reader.Read()
Console.WriteLine( reader["Username"].ToString());
}
正如OQ ORM框架(如EF)的评论中所述,可以提供更短,更少的代码来实现结果的方法。 然而,他们在引擎盖下做同样的事情
首先你需要了解 ADO.net(Sql命令,Sql
连接,Sql dataTable...),至少,寻找一个乞丐教程。然后回答你的问题:假设您的项目具有如下所示的 App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="WingtipToys" connectionString="Data Source=(LocalDB)'v11.0;Initial Catalog=WingtipToys;Integrated Security=True;Pooling=False" />
</connectionStrings>
</configuration>
您需要指定连接字符串才能将应用程序连接到数据源,例如:
var connectionString = ConfigurationManager.ConnectionStrings["WingtipToys"].ConnectionString;
然后,必须使用 SqlConnection
和连接字符串创建连接。之后,使用 sqlCommand 创建要执行的命令。最后,执行命令并检索数据,在这种情况下,使用选择查询,因此结果将有一个SqlDataReader。在这里,您可以使用 While 来循环数据,从而获得所需的内容。下面是来自 Msdn 的简单示例:
string queryString ="(SELECT * FROM tblEmployee WHERE Username = 'Venz')";
using (var connection = new SqlConnection(connectionString))
{
var command = new SqlCommand(queryString, connection);
connection.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
}
}