如何修复''

时间:2015-09-28 05:30:37

标签: asp.net sql-server code-behind

您好我的查询在此代码中遇到问题我想查询特定的数据行,其中'CourseNo'='CmpE 513';

   string getText = this.SubjectList.Value;

    //Connection String
    connector.ConnectionString = "Data Source=keith;Initial Catalog=SAD;Integrated Security=True";

    query = "select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = " + getText + "";

    SubjectlistData = connector.ExecuteQuery(query);
    SubjectlistTable = SubjectlistData.Tables[0];

错误说'513'

附近的语法不正确

结果显示为int而不是字符串。

在我的sql server查询中,我尝试了这个:

select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where courseno = 'CmpE 513';

结果显示数据。

如何在我的字符串getText后面的aspx代码中添加引号('')?

我试过了:

string getText = this.SubjectList.Value;
query = "select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = " + 'getText' + "";

但我收到错误,我该如何解决?

2 个答案:

答案 0 :(得分:2)

由于“CmpE 513”包含空格,因此应使用单引号

括起来

喜欢suprabhat建议使用以下代码:

query = "select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = '" + getText + "'";

答案 1 :(得分:1)

这是您的选择查询的样子

query = "select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = " + getText + "";

<强>问题

在上述情况下,如果 getText 的类型为 int ,那么毫无疑问,上面的查询会起作用,但在您的情况下,它是一个字符串,因此如果没有包含在引用,就像你面临的那样,因为它终止了空白行,其余的字符集无法识别 sql compiler

string getText = this.SubjectList.Value;
query = "select CourseNo,CourseDescription,Units,Day,StartTime, EndTime,Room, Instructor, Amount,Status from assessmentform where CourseNo = " + 'getText' + "";

<强>问题

在上面的例子中,你试图以不正确的方式包含 getText 这不是将字符串对象括起来的正确方法,这样做会变成字符串而不是字符串对象或结果在编译时错误。

解决方案

您需要附上 getText 并将其设为字符串

query = "select CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = '" + getText + "'";