如何把sql语句查询到的值赋值给变量?

2024-12-27 12:40:53
推荐回答(5个)
回答1:

//多行
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();

回答2:

楼上的例子复杂了,不需要那样去实现,可以简化如下:

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

回答3:

我也不说了,楼上的几位已经回答全了```
不过我是先放在数据集中,然后再从数据集中取出数据,如果你的条件查询出多条数据的话,他们说的就不对了,放入数据集中你想取哪个取哪一个:ds.table[表名].rows[第几行][第几列](例如:int ii = Convert.ToInt32(ds.table[0].rows[0][1])

回答4:

如果是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();

回答5:

问题是 你要把它存在哪里 是后台里面
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]就是你刚才想要得到的值
老大这个是最基础的东西啊

楼下的说的很好,我这个是一个封装好的东西。所以我就直接复制过来了。因为有时候返回不可能只有一条数据或者只返回一种类型