C# 将数据插入到SQL Server数据库不在WPF C中工作
我实际上试图从我的C代码在我的SQL Server数据库中插入数据,但它不起作用,当我想查看我的数据时,它说没有插入数据。。。 我不知道为什么我不熟悉数据库和SQLC# 将数据插入到SQL Server数据库不在WPF C中工作,c#,sql-server,wpf,visual-studio,C#,Sql Server,Wpf,Visual Studio,我实际上试图从我的C代码在我的SQL Server数据库中插入数据,但它不起作用,当我想查看我的数据时,它说没有插入数据。。。 我不知道为什么我不熟悉数据库和SQL private void addRdv_Click(object sender, RoutedEventArgs e) { string query = "INSERT INTO RendezVous VALUES((SELECT Id FROM Patient WHERE nomPatient=@nomPa
private void addRdv_Click(object sender, RoutedEventArgs e)
{
string query = "INSERT INTO RendezVous VALUES((SELECT Id FROM Patient WHERE nomPatient=@nomPatient),@jour,@mois,@annee,@heure,@minute,(SELECT Id FROM Medecin WHERE nomMedecin=@nomMedecin))";
using (connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
command.Parameters.AddWithValue("@nomPatient", nomPatient.Text);
command.Parameters.AddWithValue("@jour", Int32.Parse(jour.Text));
command.Parameters.AddWithValue("@mois", Int32.Parse(mois.Text));
command.Parameters.AddWithValue("@annee", Int32.Parse(annee.Text));
command.Parameters.AddWithValue("@heure", Int32.Parse(heure.Text));
command.Parameters.AddWithValue("@minute", Int32.Parse(minutes.Text));
command.Parameters.AddWithValue("@nomMedecin", nomMedecin.Text);
command.ExecuteScalar();
command.CommandText = "SELECT * FROM RendezVous";
SqlDataReader reader = command.ExecuteReader();
nomMedecin.Text = reader.GetInt32(0).ToString();
}
下面几行代码有问题:
command.CommandText = "SELECT * FROM RendezVous";
SqlDataReader reader = command.ExecuteReader();
在这里,您可以实现数据读取
对于数据插入,您需要使用您定义为变量字符串查询的插入查询
尝试使用下一个代码:
command.CommandText = query;
command.ExecuteNonQuery();
更新:
如果需要获取插入的ID,请查看下一个堆栈溢出。command.CommandText=SELECT*FROM RendezVous;是问题的一部分,您的command.CommandText必须是INSERT语句。您从未执行INSERT语句。您只调用了读卡器。@Steve他没有得到异常,因为他正在调用ExecuteReader之前将命令对象查询字符串更改为SELECT语句。您应该将SELECT语句与insert命令分开。您只需要查询中的Id列,因此在select语句之后简单地插入该值会让您感觉更清楚。我尝试了insert语句,但仍然没有数据插入到我的数据库中。当我到达nomMedecin.Text=reader.GetInt320.ToString时;我得到一个异常,说明数据库是空的,所以我无法读取data@B.Amine请下次再复习。你的问题有答案。