如何将值存储到查询中的字符串变量中
问题描述:
oleDbConnection cn;
字符串名称;
字符串sirname;
字符串查询=select s_name,来自record_table的s_sirname;
oleDbCommand cmd = new OleDbCommand(query,cn);
//我想在name和sirname中保存这些选定的值。
oleDbConnection cn;
string name;
string sirname;
string query="select s_name,s_sirname from record_table";
oleDbCommand cmd = new OleDbCommand(query, cn);
//I want to save these selected value in name and sirname.
答
您必须执行命令,而不是使用读取器,您应该读取结果并存储在变量中。
You have to execute your command, than by using a reader you should read the results and stored in your variables.
IDataReader reader = null;
//
try
{
reader = cmd.ExecuteReader();
//
if (reader.Read())
{
name = (string)reader["s_name"];
sirname = (string)reader["s_sirname"];
}
}
catch (SqlException exception)
{
// TO DO!
}
finally
{
if (reader != null)
reader.Close();
}
你可以像下面这样使用数据集
字符串名称;
string sirname;
string query =select s_name,from record_table中的s_sirname;
oleDbCommand cmd = new OleDbCommand(query,cn);
DataSet ds = new DataSet();
使用(OleDbConnection connection = new OleDbConnection(connectionString))
使用(OleDbCommand命令=新的OleDbCommand(查询,连接))
使用(OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
adapter.Fill(ds);
}
name = ds.tables [0] .rows [0] [s_name]。tostring ();
sirname = ds.tables [0] .rows [0] [s_sirname]。tostring();
you can use dataset like below way
string name;
string sirname;
string query="select s_name,s_sirname from record_table";
oleDbCommand cmd = new OleDbCommand(query, cn);
DataSet ds = new DataSet();
using (OleDbConnection connection = new OleDbConnection(connectionString))
using (OleDbCommand command = new OleDbCommand(query, connection))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
adapter.Fill(ds);
}
name=ds.tables[0].rows[0]["s_name"].tostring();
sirname=ds.tables[0].rows[0]["s_sirname"].tostring();
你可以使用datareader或数据集来解决您的问题。下面的一些事情
you can either use datareader or dataset to sovle your issue. some thing like below
string query="select s_name,s_sirname from record_table";
oleDbCommand cmd = new OleDbCommand(query, cn);
oleDbAdepter Da = new oleDbAdepter(cmd);
dataset ds = new dataset();
cn.open();
da.fill(ds);
cn.close();
if(ds!=null && ds.tables[0].rows.count>0)
{
name = ds.tables[0].rows[0]["name"].tostring();
sirname =ds.tables[0].rows[0]["sirname "].tostring();
}