将sql代码放入c#代码时出错
我的一个朋友有一个问题,她用c#做了一个项目,看起来一切都很好,但问题是,当她将SQL查询放入代码中时,它会出错,但当我们在microsoft SQL Server中尝试代码时,它会工作 下面是错误显示的代码示例:将sql代码放入c#代码时出错,c#,sql,sql-server,C#,Sql,Sql Server,我的一个朋友有一个问题,她用c#做了一个项目,看起来一切都很好,但问题是,当她将SQL查询放入代码中时,它会出错,但当我们在microsoft SQL Server中尝试代码时,它会工作 下面是错误显示的代码示例: DataSet dsDelP = new DataSet(); string sql = ""; sql = "SELECT Grupi_ID, (p.emri + ' ' + p.mbiemri) as Profesori , k.EmriKlases as Klasa, d.em
DataSet dsDelP = new DataSet();
string sql = "";
sql = "SELECT Grupi_ID, (p.emri + ' ' + p.mbiemri) as Profesori , k.EmriKlases as Klasa, d.emri as Dita, Ora_fillimit as Fillimi, Ora_mbarimit as Mbarimi";
sql += "FROM grupetOraret gro";
sql += "inner join Profesori p on gro.Profesori_ID=p.Profesor_ID";
sql += "inner join Klasa k on gro.Klasa_ID=k.Klasa_ID";
sql += "inner join Dita d on gro.ID_Dita=d.ID_dita";
SqlDataAdapter daDelP = new SqlDataAdapter(sql, con);
daDelP.Fill(dsDelP, "grupetOraret");
dataGridViewKerkoOrarin.DataSource = dsDelP.Tables[0].DefaultView;
串接字符串后,SQL如下所示: SELECT ... as MbarimiFROM .... on gro.Profesori_ID=p.Profesor_IDinner ...
你没有空间。你应该在每一行(行尾)加上它们。假设查询本身是正确的(只要您已经检查了它),它应该是这样的:
附加到sql变量不会自动插入换行符,因此
sql
最终看起来像
...FROM grupetOraret groinner join Profesori p on gro.Profesori_ID=p.Profesor_ID...
请注意,grupetOraret gro
和内部连接之间没有空格
尝试对多行字符串文字使用@
,使操作更简单、更高效:
string sql = @"
SELECT Grupi_ID, (p.emri + ' ' + p.mbiemri) as Profesori , k.EmriKlases as Klasa, d.emri as Dita, Ora_fillimit as Fillimi, Ora_mbarimit as Mbarimi
FROM grupetOraret gro
inner join Profesori p on gro.Profesori_ID=p.Profesor_ID
inner join Klasa k on gro.Klasa_ID=k.Klasa_ID
inner join Dita d on gro.ID_Dita=d.ID_dita";
错误说明了什么?语法错误在“grupetOraret”附近@lonizenku如果您在调试中查看sql
的结果值,您可以自己看到问题。你很好,我不能看…因为我不是在编写应用程序。我的朋友在做。她打电话给我,我们在电话里讨论,她给我发了一部分错误代码。无论如何,非常感谢
...FROM grupetOraret groinner join Profesori p on gro.Profesori_ID=p.Profesor_ID...
string sql = @"
SELECT Grupi_ID, (p.emri + ' ' + p.mbiemri) as Profesori , k.EmriKlases as Klasa, d.emri as Dita, Ora_fillimit as Fillimi, Ora_mbarimit as Mbarimi
FROM grupetOraret gro
inner join Profesori p on gro.Profesori_ID=p.Profesor_ID
inner join Klasa k on gro.Klasa_ID=k.Klasa_ID
inner join Dita d on gro.ID_Dita=d.ID_dita";