如果返回一些结果,可以用 OleDbDataReader dr = myCommand.ExecuteReader(); string result1 = dr[0].ToString(); .....如果要返回一个结果集,就要用 OleDbDataAdapter da = new OleDbDataAdapterda(myCommand); DataSet ds = new DataSet(); da.Fill(ds);
这是sql的 --------------------------------------- DataSet ds=new DataSet(); this.sqlConnection1 = new System.Data.SqlClient.SqlConnection(); this.sqlConnection1.ConnectionString = "user id=sa;data source=10.0.0.15;persist security info=True;initial catalog=243543;password=45345"; SqlDataAdapter da=new SqlDataAdapter("select top 20 * from test where id like @RoleId",sqlConnection1); da.SelectCommand.Parameters.Add(new SqlParameter("@RoleId",""+keyword+"%"));
返回string的: OleDbDataReader myReader; OleDbCommand myCommand = new OleDbCommand(strSQL, conn); myCommand.Parameters.Add (new OleDbParameter("@Pwd",OleDbType.VarChar)); myCommand.Parameters["@Pwd"].Value = strPwd; myReader=myCommand.ExecuteNonQuery(CommandBehavior.SingleRow); while(myReader.Read()) { yourstring=myReader.GetString(0); }
用dataset吧 OleDbDataAdapter da = new OleDbDataAdapterda(myCommand); DataSet ds = new DataSet(); da.Fill(ds,TableName);
返回DataSet用DataAdapter DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(myCommand); da.Fill(ds);
OleDbDataAdapter da = new OleDbDataAdapter(myCommand); da.Fill(ds); 以上语句我在使用中提示:@strPwd在使用它的上下文中无效...
ExecuteDataset这个应该是自定义的函数, OleDbCommand myCommand = new OleDbCommand(strSQL, conn); myCommand.Parameters.Add (new OleDbParameter("@Pwd",OleDbType.VarChar)); myCommand.Parameters["@Pwd"].Value = strPwd; OleDbDataAdapter da = new OleDbDataAdapterda(myCommand); DataSet ds = new DataSet(); da.Fill(ds);
OleDbDataAdapter da = new OleDbDataAdapter(myCommand); da.Fill(ds); 应该没问题,有问题的是你的其他语句问题。
据说下面的语句有问题 select * from users where username=@strName and usertype<>@PurType 是否应该写成这样 select * from users where username=? and usertype<>? 传参数的时候再把参数按顺序传到处理函数中
勿忘国耻 抵制日货&up
OleDb支持Parameters,但是不支持参数的具体名称。所以SQL语句要写成"select * from table1 where field1=?"http://blog.joycode.com/lostinet/archive/2004/09/03/32315.aspx
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(query, conn);
adapter.Fill(dataset);
return dataset;
string strSQL = "select …………";
OleDbCommand myCommand = new OleDbCommand(strSQL, conn);
myCommand.Parameters.Add (new OleDbParameter("@Pwd",OleDbType.VarChar));
myCommand.Parameters["@Pwd"].Value = strPwd;
DataSet myDataSet = myCommand..ExecuteDataset();
…………………………
OleDbDataReader dr = myCommand.ExecuteReader();
string result1 = dr[0].ToString();
.....如果要返回一个结果集,就要用
OleDbDataAdapter da = new OleDbDataAdapterda(myCommand);
DataSet ds = new DataSet();
da.Fill(ds);
---------------------------------------
DataSet ds=new DataSet();
this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.sqlConnection1.ConnectionString = "user id=sa;data source=10.0.0.15;persist security info=True;initial catalog=243543;password=45345";
SqlDataAdapter da=new SqlDataAdapter("select top 20 * from test where id like @RoleId",sqlConnection1);
da.SelectCommand.Parameters.Add(new SqlParameter("@RoleId",""+keyword+"%"));
ds.Clear ();
da.Fill(ds);
DataSet ds=new DataSet();
OleDbDataAdapter myAdapter = new OleDbDataAdapter(strSQL, conn);
ds=myAdapter.Fill(ds,"mytable");
OleDbDataReader myReader;
OleDbCommand myCommand = new OleDbCommand(strSQL, conn);
myCommand.Parameters.Add (new OleDbParameter("@Pwd",OleDbType.VarChar));
myCommand.Parameters["@Pwd"].Value = strPwd;
myReader=myCommand.ExecuteNonQuery(CommandBehavior.SingleRow);
while(myReader.Read())
{
yourstring=myReader.GetString(0);
}
OleDbDataAdapter da = new OleDbDataAdapterda(myCommand);
DataSet ds = new DataSet();
da.Fill(ds,TableName);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(myCommand);
da.Fill(ds);
da.Fill(ds);
以上语句我在使用中提示:@strPwd在使用它的上下文中无效...
OleDbCommand myCommand = new OleDbCommand(strSQL, conn);
myCommand.Parameters.Add (new OleDbParameter("@Pwd",OleDbType.VarChar));
myCommand.Parameters["@Pwd"].Value = strPwd;
OleDbDataAdapter da = new OleDbDataAdapterda(myCommand);
DataSet ds = new DataSet();
da.Fill(ds);
我晕,而且你们的代码中老是用OleDbDataAdapterda,应该是OleDbDataAdapter吧
我是连的db2数据库,应该没关系吧
da.Fill(ds);
应该没问题,有问题的是你的其他语句问题。
select * from users where username=@strName and usertype<>@PurType
是否应该写成这样
select * from users where username=? and usertype<>?
传参数的时候再把参数按顺序传到处理函数中