2017-05-30 23 views
-5

我在哪裏出錯?'SqlConnection'不包含'Parameters'的定義

  con.Parameters.Add("@Email", SqlDbType.VarChar).Value = Email.Text; 
      con.Parameters.Add("@Password", SqlDbType.VarChar).Value = Password.Text; 
      con.Parameters.Add("@ID", SqlDbType.Int).Value = UserID.Text; 
      con.Parameters.Add("@AccountType", SqlDbType.Int).Value = AccType.Text; 

回答

1

您將參數添加到SqlCommand對象,像這樣:

using (SqlConnection conn = new SqlConnection(connectionString)) { 
    using (SqlCommand cmd = new SqlCommand(commandText, conn)) { 
     // There're three command types: StoredProcedure, Text, TableDirect 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.Add("@Email", SqlDbType.VarChar).Value = Email.Text; 
     cmd.Parameters.Add("@Password", SqlDbType.VarChar).Value = Password.Text; 
     cmd.Parameters.Add("@ID", SqlDbType.Int).Value = UserID.Text; 
     cmd.Parameters.Add("@AccountType", SqlDbType.Int).Value = AccType.Text; 

     conn.Open(); 
     return cmd.ExecuteNonQuery(); 
    } 
} 
0

這是正確的。 SqlConnection不包含Parameters的定義。

您正在尋找SqlCommand

1

你想要做這樣的事情。這將確保您的連接已打開,然後在完成時丟棄。並將添加所有參數。

using (SqlConnection cn = new SqlConnection(ConString)) 
      { 
       try 
       { 
        cn.Open(); 
        using (SqlCommand cmd = new SqlCommand(proc, cn)) 
        { 
         cmd.CommandType = CommandType.StoredProcedure; 
         cmd.Parameters.AddWithValue("@Email", myEmail); 
         cmd.Parameters.AddWithValue("@Password", myPass); 
         cmd.Parameters.AddWithValue("@ID", myID); 
         cmd.Parameters.AddWithValue("@AccountType", myAccount); 

         cmd.ExecuteNonQuery(); 
        } 
       } 
       catch (SqlException) 
       { 
        Debug.WriteLine("Error in SQL cmd!"); 
        throw; 
       } 
相關問題