传入一个sql语句,返回第一行第一列,怎样效率最高?
假设返回的数据只有一行一列。
------解决方案--------------------SQL: select top 1 列名 from 表名
c#: SqlCommand 的 ExcuteSclare();//好像是这样写
还两个是最高的
------解决方案--------------------DataReader.ExcuteSclare()
------解决方案--------------------ExcuteSclare()返回第一条记录的第一列
------解决方案--------------------SqlCommand scmd=new SqlCommand();
scmd.Connection=new SqlConnection("Data Source=...");
scmd.CommandText="select orderNumber from orders where orderId=113";
scmd.Connection.Open();
scmd.ExecuteScalar();
scmd.Connection.Close();
------解决方案--------------------上面写掉了,应该加上
SqlDataReader sdr对象
...
sdr=scmd.ExecuteScalar();
sdr.Read();//先调用一次可用
sdr.GetInt32(0);
------解决方案--------------------select top 1 列名 from 表名 order by 列名
选择该列的第一个值
不知道你是哪里不明白
------解决方案-------------------- SQL SERVER : select top 1 列名 from 表名 order by 列名
Oracle : select * from (select 列名 from 表名 order by 列名 ) where rownum = 1