2015-03-31 56 views
-2
private void button2_Click(object sender, EventArgs e) 
    { 
     // Open the connection using the connection string. 
     SqlConnection con = new SqlConnection(@"Data Source=WIN-6Q836P8JQ1C\oby;Initial Catalog=Etudiant;Integrated Security=True"); 
     con.Open(); 
     string sqlQuery = "INSERT INTO Abscence (CIN,Heure_debut,Heure_fin,Date)"; 
     sqlQuery += "VALUES ('CIN', 'Heure_debut', 'Heure_fin', 'Date')"; 
      // Insert into the Sql table. ExecuteNonQuery is best for inserts. 
      using (SqlCommand com = new SqlCommand(sqlQuery, con)) 
      { 
       for (int i = 0; i < dataGridView1.Rows.Count; i++) 
       { 
        com.Parameters.AddWithValue("CIN", dataGridView1.Rows[i].Cells["CIN"].Value); 
        com.Parameters.AddWithValue("Heure_debut", dataGridView1.Rows[i].Cells["column1"].Value); 
        com.Parameters.AddWithValue("Heure_fin",dataGridView1.Rows[i].Cells["column2"].Value); 
        com.Parameters.AddWithValue("Date", dateTimePicker1.Text); 
       } 
       com.ExecuteNonQuery(); 
       com.Parameters.Clear(); 
       con.Close(); 
      } 
     } 
    } 

请帮助我,这是我的学士学位项目如何在这段代码声明标量变量“@CIN”

+0

参数名称应以'@'开头。 – Blorgbeard 2015-03-31 21:05:42

+0

我不明白这种类型的评论'请帮助我这是我的学士学位项目'。为什么你认为我们应该帮助你。对于前者,我不希望有一个队友(也许在不久的将来)谁不能解决这个问题。 – EZI 2015-03-31 21:12:07

回答

0

首先在你的查询您没有参数,也没有必要写查询作为2串concatanation:

string sqlQuery = @"INSERT INTO 
         Abscence (CIN,Heure_debut,Heure_fin,Date) 
        VALUES 
         (@CIN, @Heure_debut, @Heure_fin, @Date)"; 

可以使用符号@,启动串@""之前多行写的字符串。

要再次声明参数,请使用@符号。当你添加它们的值时,应该这样写:

com.Parameters.AddWithValue("@CIN", dataGridView1.Rows[i].Cells["CIN"].Value); 
com.Parameters.AddWithValue("@Heure_debut",dataGridView1.Rows[i].Cells["column1"].Value); 
com.Parameters.AddWithValue("@Heure_fin",dataGridView1.Rows[i].Cells["column2"].Value); 
com.Parameters.AddWithValue("@Date", dateTimePicker1.Text); 
+0

我这样做,但有一个新问题“附加信息:参数化查询'(@CIN int,@ Heure_debut nvarchar(4000),@ Heure_fin nvarchar(4000),'期望参数'@Heure_debut',它没有提供。 “ – 2015-03-31 21:13:53

+0

如果仔细观察我的代码,您会发现在参数前后不应该有'' – mybirthname 2015-03-31 21:14:47

+0

我复制了您的解决方案,但同样的问题其他信息:参数化查询'(@CIN int,@ Heure_debut nvarchar(4000 ),@ Heure_fin nvarchar(4000),'期望参数'@Heure_debut',这是没有提供 – 2015-03-31 21:20:42