2013-07-05 1 views
2

0의 잘못된 크기를 가지고하는 것은 내 SP입니다 : 여기 크기 속성은 다음

CREATE PROCEDURE _insertAdminProfile 
(
    @Ad_Fname VARCHAR(25), 
    @Ad_Lname VARCHAR(25), 
    @Ad_DOB DATE, 
    @Ad_Sex VARCHAR(25), 
    @Ad_Address VARCHAR(200), 
    @Ad_Phone VARCHAR(12), 
    @Ad_Email VARCHAR(25), 
    @Ad_Pwd VARCHAR(7) OUTPUT 
) 
AS BEGIN 
    DECLARE @MyTableVar TABLE (Ad_Pwd VARCHAR(7)); 
    INSERT INTO dbo.Admin_Profile (Ad_Fname, Ad_Lname, Ad_DOB, Ad_Sex,Ad_Address,Ad_Phone,Ad_Email) 
    OUTPUT INSERTED.Ad_Regid INTO @MyTableVar 
    VALUES (@Ad_Fname, @Ad_Lname, @Ad_DOB, @Ad_Sex, @Ad_Address, @Ad_Phone, @Ad_Email) 

    SELECT @Ad_Pwd = Ad_Pwd 
    FROM @MyTableVar 
END 

내 코드입니다 : 당신이 _outputparam 7에 크기를 설정해야 할 수도 있습니다처럼

protected void cmdprofile_Click(object sender, EventArgs e) 
{ 
    string _gender; 

    if (rdomale.Checked) 
    { 
     _gender = "Male"; 

    } 

    else 
    { 
     _gender = "Female"; 
    } 

    Class1.con = CreateConnection(); 
    cmd = new SqlCommand("_insertAdminProfile", Class1.con); 
    cmd.CommandType = System.Data.CommandType.StoredProcedure; 
    cmd.Parameters.AddWithValue("@Ad_Fname", txtfname.Text); 
    cmd.Parameters.AddWithValue("@Ad_Lname", txtlname.Text); 
    cmd.Parameters.AddWithValue("@Ad_DOB", txtdob.Text); 
    cmd.Parameters.AddWithValue("@Ad_Sex", _gender); 
    cmd.Parameters.AddWithValue("@Ad_Address", txtaddress.Text); 
    cmd.Parameters.AddWithValue("@Ad_Phone", txtphone.Text); 
    cmd.Parameters.AddWithValue("@Ad_email", txtemail.Text); 

    SqlParameter _outputparam = new SqlParameter(); 
    _outputparam.ParameterName = "@Ad_Regid"; 
    _outputparam.SqlDbType = System.Data.SqlDbType.VarChar; 
    _outputparam.Direction = System.Data.ParameterDirection.Output; 
    cmd.Parameters.Add(_outputparam); 

    cmd.ExecuteNonQuery(); **// Here shows my error:: String[7]: the Size property has an invalid size of 0.** 

    string _ID = _outputparam.Value.ToString(); 
    ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('New Values Inserted and Your temporary password is: " + _ID + "');", true);   
    MultiView1.SetActiveView(Login_stat); 

} 

답변

3

설정 매개 변수의 크기는 같은 :

_outputparam.Size = 7; 
+0

자세히 설명해 주시겠습니까? 그게 무슨 뜻입니까? –

0

같습니다 저장 프로 시저와 일치시킵니다.

+0

어디에서이 크기를 줄 수 있습니까? – user72

+1

SqlParameter 객체에는'Size' 속성이 있습니다. –