SQL问题,请赐教!!!
我用C#连接数据库,用的是oleDataAdapter,SQL语句为 
 select   id,   user_name,firstname   From   abcs,Where   (id=?)OR(   user_name=?)OR(firstname=?)生成数据配置的时候通过了然后使用oleDbDataAdapter1.SelectCommand.Parameters[0].Value   =   textbox1.Text,为什么报错? 
 附:我只使用一个限制时select   id,   user_name,firstname   From   abcs,Where   (id=?),然后oleDbDataAdapter1.SelectCommand.Parameters[0].Value   =   textbox1.Text,就可以实现在textbox1中输入id,就调出相应的记录。   
 还有Parameters[0]的参数[0]是什么意思?
------解决方案--------------------一共3个参数 
 oleDbDataAdapter1.SelectCommand.Parameters[0].Value = 
 oleDbDataAdapter1.SelectCommand.Parameters[1].Value = 
 oleDbDataAdapter1.SelectCommand.Parameters[2].Value =
------解决方案--------------------1 报错 :因为有3个参数,你只定义一个; 
 2 【0】是Parameters集合的第一个。 
------解决方案--------------------可能是我没有说清楚,我实际是定义了一个comBox——包含id,user_name,firstname,也就是每次下拉comBox指定一个属性后,在textBox中输入该属性的一个值,然后搜出该属性为textBox的记录进行显示。所以不可能将三个参数都定义(因为我只对一个属性进行查找)。不知道我这次说清楚了没有?请继续!   
 ------------------------- 
 很简单呀,每次就设置一个对应的值,就是了, 
 比如:按id查询   
 oleDbDataAdapter1.SelectCommand.Parameters[0].Value =id输入值 
 oleDbDataAdapter1.SelectCommand.Parameters[1].Value ="  " //输入其他的不存在的值 
 oleDbDataAdapter1.SelectCommand.Parameters[2].Value = "   " //输入其他的不存在的值     
 按user-name查询   
 oleDbDataAdapter1.SelectCommand.Parameters[0].Value = "   "  //输入其他的不存在的值 
 oleDbDataAdapter1.SelectCommand.Parameters[1].Value =user-name输入值oleDbDataAdapter1.SelectCommand.Parameters[2].Value = "   " //输入其他的不存在的值 
------解决方案--------------------select id, user_name,firstname From abcs,Where (id=?)OR( user_name=?)OR(firstname=?)   
 虽然这三个?你用的是同一个值,但是解析sql时,会当成3个参数,所以。。。,解决方案如上所述