给你个完整例子:
        public static int eosp_Createuser(string uSERID, string uSERNAME, int jSID)
        {
            // create a connection...
            System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(EnterpriseObjects.EnterpriseApplication.Application.ConnectionString);
            connection.Open();
            // create a command...
            System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand("eosp_Createuser", connection);
            command.CommandType = System.Data.CommandType.StoredProcedure;
            // parameters...
            System.Data.SqlClient.SqlParameter uSERIDParam = command.Parameters.Add("@uSERID", System.Data.SqlDbType.VarChar, 6);
            uSERIDParam.Value = uSERID;
            System.Data.SqlClient.SqlParameter uSERNAMEParam = command.Parameters.Add("@uSERNAME", System.Data.SqlDbType.VarChar, 20);
            uSERNAMEParam.Value = uSERNAME;
            System.Data.SqlClient.SqlParameter jSIDParam = command.Parameters.Add("@jSID", System.Data.SqlDbType.Int);
            jSIDParam.Value = jSID;
            System.Data.SqlClient.SqlParameter returnValueParam = command.Parameters.Add("@returnValueParam", System.Data.SqlDbType.Int);
            returnValueParam.Direction = System.Data.ParameterDirection.ReturnValue;
            // execute...
            command.ExecuteNonQuery();
            // cleanup...
            command.Dispose();
            connection.Close();
            // return...
            return ((int)(returnValueParam.Value));
        }

解决方案 »

  1.   

    cmd.CommandText="insert into abc (a,b) values(@a,@b);";
    cmd.Parameters.Add("@a",this.label2.Text.Trim());
    cmd.Parameters.Add("@b",this.label3.Text.Trim());
      

  2.   

    cmd.CommandText="insert into abc (a,b) values(@a,@b);";……(@a,@b);";
    你为什么要加上;?把它去掉就好了
      

  3.   

    如果是使用OleDbCommand
    这里的变量就要写成?而不是@a,@b如:
    cmd.CommandText="insert into abc (a,b) values(?,?);";
    cmd.Parameters.Add("@a",this.label2.Text.Trim());
    cmd.Parameters.Add("@b",this.label3.Text.Trim());
      

  4.   

    to 龙人:
      这样做可以吗??
      那么系统就默认"@a"为第一个问号??
      

  5.   

    龙人说的不错,在用OleDbCommand时,是用"?"来代替"@name"格式的,然后添加参数时,是对应"?"号次序的(即:添加的第一个参数就是对应的第一个"?"对应的参数