2016-05-09 32 views
1

我想插入表格RDV中的记录。加入表格sql窗体表格

创作RDV表的查询:

CREATE TABLE [dbo].[RDV] (
[idRdv]  INT   NOT NULL, 
[objet]  NVARCHAR (50) NULL, 
[objectif] NVARCHAR (50) NULL, 
[DateRdv]  DATETIME  NULL, 
[commentaire] NVARCHAR (50) NULL, 
[archive]  NVARCHAR (50) NULL, 
[idClient] INT   NULL, 
[idUser]  INT   NULL, 
[idResultat] INT   NULL, 
CONSTRAINT [PK_RDV] PRIMARY KEY CLUSTERED ([idRdv] ASC), 
FOREIGN KEY ([idClient]) REFERENCES [dbo].[Client] ([idClient]), 
FOREIGN KEY ([idUser]) REFERENCES [dbo].[User] ([idUser]), 
FOREIGN KEY ([idResultat]) REFERENCES [dbo].[Resultat] ([idResultat]) 

这里有我的代码:

private void btnAdd_Click(object sender, EventArgs e) 
    { 
     SqlDataAdapter sda = new SqlDataAdapter("Insert into RDV (objet,objectif,DateRdv,commentaire,idClient)Select'" + textBox1.Text + "','" + textBox2.Text + "','" + dateTimePicker1.Text.ToString() + "','" + textBox4.Text + "',idClient from RDV where Client.idClient=RDV.idClient and idClient='"+comboBox2.SelectedValue+"'", con); 
     sda.SelectCommand.ExecuteNonQuery(); 
     con.Close(); 
     MessageBox.Show("Le RDV a été ajouté avec succés !"); 
    } 

错误是:多部分标识符 “Client.idClient” 不能约束。

我的语法查询是错误的?如果是的话,我应该如何纠正它。

在此先感谢。

+0

请看看参数化查询。您的查询容易受到SQL注入攻击。 – itsme86

+0

请问,你有什么想法如何做到这一点? –

回答

0

以及错误表示在您的查询中没有对客户端表的引用,所以它不会找到标识符Client.idClient。请使用加入或将客户端放入您的From中。