【发布时间】:2021-07-03 04:08:01
【问题描述】:
我在 SQL Server 中创建了六个表,分别命名为 stagiaire 和 utilisateur。最初,我将每个表中的主键设置为 ID。运行上面的代码立即返回这个输出:
Create Database gestionStagiaire
use gestionStagiaire
if OBJECT_ID('tempdb..ville') is not null
drop table ville
create table ville
(
id_ville int primary key,/*identity(1,1)*/
nom_ville varchar(50)
)
if OBJECT_ID('tempdb..stagiaire') is not null
drop table stagiaire
create table stagiaire
(
id_stagiaire int primary key identity(1,1),
nom_stagiaire varchar(50),
dateNaiss_stagiaire date,
cin_stagiaire varchar(10),
telephone_stagiaire varchar(15),
email_stagiaire varchar(50),
adresse_stagiaire varchar(100),
id_ville int foreign key references ville(id_ville)
)
if OBJECT_ID('tempdb..ecole') is not null
drop table ecole
create table ecole
(
id_ecole int primary key identity(1,1),
nom_ecole varchar(50),
id_ville int foreign key references ville(id_ville)
)
if OBJECT_ID('tempdb..encadrant') is not null
drop table encadrant
create table encadrant
(
id_encadrant int primary key identity(1,1),
nom_encadrant varchar(50)
)
if OBJECT_ID('tempdb..stage') is not null
drop table stage
create table stage
(
id_stage int primary key identity(1,1),
sujet_stage varchar(100),
dateDebut_stage date,
dateFin_stage date,
id_ecole int foreign key references ecole(id_ecole),
id_stagiaire int foreign key references stagiaire(id_stagiaire),
id_encadrant int foreign key references encadrant(id_encadrant)
)
if OBJECT_ID('tempdb..utilisateur') is not null
drop table utilisateur
create table utilisateur
(
login_utilisateur varchar(50) primary key,
nom_utilisateur varchar(50),
pass_utilisateur varchar(50)
)
C#代码:
private void Button_AStagiaireDgv_Click(object sender, EventArgs e)
{
//DataClasses1DataContext dc = new DataClasses1DataContext(con);
//stagiaire newStagiaire = new stagiaire();
//newStagiaire.id_stagiaire=""
stagiaire sr = new stagiaire();
//sr.id_stagiaire = Convert.ToInt32(TextBox_IdStagiaire.Text);
sr.nom_stagiaire = TextBox_NomStagiaire.Text;
sr.dateNaiss_stagiaire = DateTime.Parse(DateTimePickerStagiaire.Text);
sr.ci_stagiaire = TextBox_CinStagiaire.Text;
sr.telephone_stagiaire = TextBox_TeleStagiaire.Text;
sr.email_stagiaire = TextBox_EmailStagiaire.Text;
sr.adresse_stagiaire = TextBox_AdresseStagiaire.Text;
//sr.id_ville = int.Parse(TextBox_IdVilleStagiaire.Text);
sr.id_ville = int.Parse(ComboBox_IdVilleStagiaire.Text);//.SelectedValue.ToString()
dc.stagiaire.InsertOnSubmit(sr);
dc.SubmitChanges();
charge_load();
/*
//int idstagiaire = int.Parse(TextBox_IdStagiaire.Text);
string nomstagiaire = TextBox_NomStagiaire.Text;
DateTime datenaiss = DateTime.Parse(DateTimePickerStagiaire.Text);
string cinstagiaire = TextBox_CinStagiaire.Text;
string telstagiaire = TextBox_TeleStagiaire.Text;
string mailstagiaire = TextBox_EmailStagiaire.Text;
string adressestagiaire = TextBox_AdresseStagiaire.Text;
int idville = int.Parse(ComboBox_IdVilleStagiaire.Text);
var st = new stagiaire
{
//id_stagiaire = idstagiaire,
nom_stagiaire = nomstagiaire,
dateNaiss_stagiaire = datenaiss,
ci_stagiaire = cinstagiaire,
telephone_stagiaire = telstagiaire,
email_stagiaire = mailstagiaire,
adresse_stagiaire = adressestagiaire,
id_ville = idville
};
dc.stagiaire.InsertOnSubmit(st);
dc.SubmitChanges();
MessageBox.Show("Ajoute avec succes");
charge_load();
*/
}
【问题讨论】:
-
“运行上面的代码立即返回了这个输出” 什么代码?什么输出?你有什么问题?
-
为什么,在您的 SQL 中,您要检查
tempdb中是否存在对象,然后在您刚刚创建的数据库 (gestionStagiaire) 中创建对象?当它不会阻止以下语句失败时,检查对象是否存在有什么意义;不像你刚刚创建的数据库那样。
标签: c# sql-server database visual-studio linq-to-sql