C# 将数据插入到SQL Server数据库不在WPF C中工作

C# 将数据插入到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

我实际上试图从我的C代码在我的SQL Server数据库中插入数据,但它不起作用,当我想查看我的数据时,它说没有插入数据。。。 我不知道为什么我不熟悉数据库和SQL

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请下次再复习。你的问题有答案。