//多行
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=.;database=你的数据库的名字;uid=sa;pwd=sa的密码;");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText="select 字段A from 表B where years=2000 and months=2";
conn.Open();
System.Data.SqlDataAdapter sda=new System.Data.SqlDataAdapter(cmd);
DataSet ds=new DataSet();
sda.Fill(ds,"dtResult");
conn.Close();
//结果在ds的dtResult中。
foreach(DataRow dr in ds.Tables["dtResult"])
{
Response.Write(dr["字段A"].ToString()+"
");
}
-------------------------------------------------------------
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=.;database=你的数据库的名字;uid=sa;pwd=sa的密码;");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText="select 字段A from 表B where years=2000 and months=2";
conn.Open();
int i=Convert.ToInt32(cmd.ExecuteScalar().ToString());
conn.Close();
楼上的例子复杂了,不需要那样去实现,可以简化如下:
string dbStr = "data source=127.0.0.1;uid=sa;pwd=fhploverrz;database=BLOG";
int result;
SqlConnection sqlcon = new SqlConnection(dbStr);
SqlCommand sqlcmd = new SqlCommand(sql, sqlcon);
sqlcon.Open();
result=int.Parse(sqlcmd.ExecuteScalar().ToString());
sqlcon.Close();
result就是结果。至于数据库异常,可以在 sqlcon.Open() 这句上加个 try...catch
我也不说了,楼上的几位已经回答全了```
不过我是先放在数据集中,然后再从数据集中取出数据,如果你的条件查询出多条数据的话,他们说的就不对了,放入数据集中你想取哪个取哪一个:ds.table[表名].rows[第几行][第几列](例如:int ii = Convert.ToInt32(ds.table[0].rows[0][1])
如果是int型的值,可以
int val = (int)sqlcmd.ExecuteScalar();
如果不是,
object obj = sqlcmd.ExecuteScalar();
如果是多行结果可以使用DataReader
DataReader reader = sqlcmd.ExecuteReader();
while ( reader.Read() )
{
// 每行的数据处理代码...
// 如要取字段一的值
object obj = reader[0];
// 如果知道字段名,如"name"
string name = (string)reader["name"];
//...
}
reader.Close();
问题是 你要把它存在哪里 是后台里面
public static string dbStr = "data source=127.0.0.1;uid=sa;pwd=fhploverrz;database=BLOG";
public static DataSet getDataSet(string sql,Page curPage)
{
DataSet ds = null;
try
{
SqlConnection sqlcon = new SqlConnection(dbStr);
SqlCommand sqlcmd = new SqlCommand(sql, sqlcon);
SqlDataAdapter sqldad = new SqlDataAdapter(sqlcmd);
sqlcon.Open();
ds = new DataSet();
sqldad.Fill(ds);
sqlcon.Close();
}
catch(Exception e)
{
// PublicJS.clsAlert(curPage,"数据库连接错误!");//
}
return ds;
}
ds.table[0].rows[0][0]就是你刚才想要得到的值
老大这个是最基础的东西啊
楼下的说的很好,我这个是一个封装好的东西。所以我就直接复制过来了。因为有时候返回不可能只有一条数据或者只返回一种类型