恩,我的意思是: SqlConnection myConnection= new SqlConnection("server='127.0.0.1';uid=sa;pwd=123;database=book"); string SearchingBook; SqlDataAdapter myCommand=new SqlDataAdapter(); SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like @name"; myCommand = new SqlDataAdapter(SearchingBook, myConnection); myCommand.GetFillParameters(new SqlParameter("@name", SqlDbType.NVarChar, 50)); myCommand.GetFillParameters["@name"].Value = SearchKeytxt.Text; 这样为什么不行,但用SqlCommond 定义的对象就可以
楼主你将 SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like @name"; 改为: SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like ?"; 其他不变,你试试
不行,它提示我getfillparameters方法用法错误
SqlDataAdapter mda = new SqlDataAdapter(); mda.SelectCommand = new SqlCommand("select ISBN,图书名,出版社,定价 from book where 图书名 like ?",myConnection); mda.SelectCommand.Parameters.Add("@图书名",SqlDbType.NVarChar, 50); mda.SelectCommand.Parameters[0].Value= SearchKeytxt.Text; 试试这个
如果还是不行.你可以参考这个.它在我的程序上执行是正确的. OleDbConnection m_Conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\demo.mdb;Persist Security Info=True"); m_Conn.Open(); OleDbDataAdapter m_Adapter = new OleDbDataAdapter(); m_Adapter.SelectCommand = new OleDbCommand("select * from T_CodeSet_Item where CodeSet_ID=?",m_Conn); m_Adapter.SelectCommand.Parameters.Add("@CodeSet_ID",OleDbType.VarChar,50); m_Adapter.SelectCommand.Parameters[0].Value="AB";
DataSet ds = new DataSet(); m_Adapter.Fill(ds,"数据"); this.dataGrid1.DataSource = ds;
SqlConnection myConnection= new SqlConnection("server='127.0.0.1';uid=sa;pwd=123;database=book");
string SearchingBook;
SqlDataAdapter myCommand=new SqlDataAdapter();
SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like @name";
myCommand = new SqlDataAdapter(SearchingBook, myConnection);
myCommand.GetFillParameters(new SqlParameter("@name", SqlDbType.NVarChar, 50));
myCommand.GetFillParameters["@name"].Value = SearchKeytxt.Text;
这样为什么不行,但用SqlCommond 定义的对象就可以
SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like @name";
改为:
SearchingBook="select ISBN,图书名,出版社,定价 from book where 图书名 like ?";
其他不变,你试试
mda.SelectCommand = new SqlCommand("select ISBN,图书名,出版社,定价 from book where 图书名 like ?",myConnection);
mda.SelectCommand.Parameters.Add("@图书名",SqlDbType.NVarChar, 50);
mda.SelectCommand.Parameters[0].Value= SearchKeytxt.Text;
试试这个
OleDbConnection m_Conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\demo.mdb;Persist Security Info=True");
m_Conn.Open();
OleDbDataAdapter m_Adapter = new OleDbDataAdapter();
m_Adapter.SelectCommand = new OleDbCommand("select * from T_CodeSet_Item where CodeSet_ID=?",m_Conn);
m_Adapter.SelectCommand.Parameters.Add("@CodeSet_ID",OleDbType.VarChar,50);
m_Adapter.SelectCommand.Parameters[0].Value="AB";
DataSet ds = new DataSet();
m_Adapter.Fill(ds,"数据");
this.dataGrid1.DataSource = ds;