new OleDbParameter("@user_id",OleDbType.VarChar,20);
                    ~~~~~~~~~应该是@id

解决方案 »

  1.   

    SelectCommand1.CommandText="select user_id  ,name    from users where user_id = @id";

    OleDbParameter para_id = new OleDbParameter("@id",OleDbType.VarChar,20);
    para_id.Value  = "test";
    SelectCommand1.Parameters.Add(para_id);---发错了,实际是@id,不是@user_id
    高手在看看:)
      

  2.   

    你怎么打印出来的,别告诉我是Response.Write(SelectCommand1.CommandText);
      

  3.   

    ?我在原来代码里COPY的。其中有测试了N次,所以才把id和user_id写错了。
      

  4.   

    select user_id  ,name    from users where user_id = @id":改为
    select user_id  ,name    from users where user_id = ?"
      

  5.   

    打印的方法
    在页面建个LABEL,然后
    LABEL.TXT = SelectCommand1.CommandText;
      

  6.   

    "select user_id  ,name    from users where user_id = ?"
    那如果
    "select user_id  ,name    from users where user_id = ? and name = ?"
    参数如何赋值?高手能不能给我个完整的代码?
      

  7.   

    OleDbParameter para_id = new OleDbParameter("@id",OleDbType.VarChar,20);
      

  8.   

    不是有Oracle组件吗。不过要VS2003呢。呵呵。我有一些代码,你可以参考以下,见笑
    sql="update  twsld set Jdyid=:Jdyid,Jddate=:Jddate,fphm=:fphm,xh=:xh,jzy=:jzy where sldid=:sldid";
    cmd.CommandText=sql;
    cmd.Parameters.Add(":Jdyid",OracleType.Number );
    cmd.Parameters.Add(":Jddate",OracleType.DateTime);
    cmd.Parameters.Add(":fphm",OracleType.VarChar,20);
    cmd.Parameters.Add(":xh",OracleType.VarChar,20);
    cmd.Parameters.Add(":sldid",OracleType.Number );
    cmd.Parameters.Add(":jzy",OracleType.VarChar,10); cmd.Parameters[":Jdyid"].Value=((clsUser)Session["objUser"]).ID.ToString(); //计调员ID
    cmd.Parameters[":Jddate"].Value=System.DateTime.Now.ToShortDateString(); //计调操作时间
    cmd.Parameters[":fphm"].Value=TextBox2.Text;//发票号码
    cmd.Parameters[":xh"].Value=tblRecvMateInfo.Rows[0].Cells[1].Text;//计调料单序号
    cmd.Parameters[":jzy"].Value=tblRecvMateInfo.Rows[1].Cells[3].Text;//结帐月
    cmd.Parameters[":sldid"].Value=DataGrid2.Items[0].Cells[0].Text ; //收料单ID
    iRow=cmd.ExecuteNonQuery();
    if(iRow>0)
    {
    tr.Commit();
    Button1.Visible=false;
    }