2014-02-11 36 views
0

問題是當我點擊保存按鈕的地方,這段代碼是......它說參數'@email'已經被定義......並且我想要發生的事情是在同一行從一個列插入2個文本框中的值

string[] email = new string[2]; 
email[0] = txtEmail1.Text; 
email[1] = txtEmail2.Text; 

MySqlCommand cmd; 

cmd.CommandText = "INSERT INTO email(Id,email)VALUES(@Id,@email)"; 
cmd.Parameters.AddWithValue("@Id", int.Parse(txtId.Text)); 

for (int i = 0; i < 2; i += 1) 
{ 
    cmd.Parameters.AddWithValue("@email", email[i]); 
    cmd.ExecuteNonQuery(); 
    if (i==2) 
     break; 
} 
+0

您在列中插入兩個電子郵件,但您不能這樣做 –

回答

3

清除在循環的每次迭代中的參數中插入在一列(電子郵件),但不這些值。

cmd.CommandText = "INSERT INTO email (Id,email) VALUES (@Id, @email)"; 

for (int i = 0; i < 2; i++) 
{ 
    cmd.Parameters.Clear(); 
    cmd.Parameters.AddWithValue("@Id", int.Parse(txtId.Text)); 
    cmd.Parameters.AddWithValue("@email", email[i]); 
    cmd.ExecuteNonQuery(); 
} 
相關問題