C#SQL - 获得一个结果的最有效方法是什么?

时间:2011-07-12 09:52:33

标签: c# php sql

真的是标题。

我想在SQL数据库的一行中仅对一个列中的一个特定值进行对象。

我将使用的PHP代码是:

$result = mysql_query("SELECT price FROM delivery WHERE id='$id'");
echo mysql_result($result,0);

这会让我从我选择的自动身份中获得价格。

由于我是C#的新手,因为似乎有许多不同的方法可以获得相同的结果,所以我很难理解它。

任何帮助将不胜感激,谢谢!

修改

我正在使用System.Data.SqlClient,到目前为止,它让我感到自豪。

3 个答案:

答案 0 :(得分:1)

如果要检索的PRICE列的数据类型是标量值,并且您只获得一条记录,那么我认为最有效的方法是ExecuteScalar()方法。这是一个示例代码:

string conString="Data Source=local;Initial Catalog=...."
SQLConnection con=new SQLConnection(conString);
SQLCommand cmd=new SQLCOmmand("SELECT price FROM delivery WHERE =@ID",con)
cmd.Parameters.Add("@ID", SqlDbType.Int).Value=125//Off course it just a sample value
con.Open();
float price=(decimal)cmd.ExecuteScalar();

......
con.Close();//don't forget

答案 1 :(得分:0)

例如使用ADO.NET。

string strSQL = "SELECT COUNT(*) FROM Products WHERE CategoryID=1"; 
SqlCommand cmd = new SqlCommand(strSQL, con); 
int nr = Convert.ToInt32(cmd.ExecuteScalar());

答案 2 :(得分:-2)

您始终可以使用SQL中的TOP函数返回单个结果:

$result = mysql_query("SELECT TOP (1) price FROM delivery WHERE id='$id'");

我不确定这是否会帮助你做你想做的事,但我希望它有所帮助。