Asp.net 关键字'附近的语法不正确;d1和x27;
SQL查询在SQLServerManagementStudio中工作。但是,在VisualStudio中,它给出了一个错误 D1附近的语法不正确 代码:Asp.net 关键字'附近的语法不正确;d1和x27;,asp.net,sql,sql-server,Asp.net,Sql,Sql Server,SQL查询在SQLServerManagementStudio中工作。但是,在VisualStudio中,它给出了一个错误 D1附近的语法不正确 代码: 更改查询,如下所示 "SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent as d1, KFM.dbo.ToolBoxDocument as d2 where d1.DocumentId = d2.DocumentId and d2.DocumentId ='" + _i
更改查询,如下所示
"SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent as d1, KFM.dbo.ToolBoxDocument as d2
where d1.DocumentId = d2.DocumentId and d2.DocumentId ='" + _id + "'";
我在你的询问中注意到的一件事是
where
where
子句的语法不正确。删除之后的额外'='和处的
和=d2.DocumentId=“+\u idstring sqlCommand = "SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent as d1, KFM.dbo.ToolBoxDocument as d2" +
" where d1.DocumentId = d2.DocumentId and d2.DocumentId =" + _id;
更新:
string sqlCommand = "SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent as d1, KFM.dbo.ToolBoxDocument as d2" +
" where d1.DocumentId = d2.DocumentId and d2.DocumentId = '" + _id + "'";
在查询中,您还输入了=sign after和 试试这个代码
string sqlCommand = "SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent d1 inner join KFM.dbo.ToolBoxDocument as d2 on d1.DocumentId = d2.DocumentId " + " where d2.DocumentId = " + _id;
另外,最好编写存储过程,并从c代码中调用。-旧样式的逗号分隔表列表样式在ANSI-92 SQL标准(20多年前)中已不再使用看看我的答案。希望它能帮助你解决你的问题。要改掉的坏习惯是:使用字符串连接在sql语句中包含用户输入。这会使你容易受到sql注入攻击。请求ID=a610fa71-fbb6-4cea-a950-b8d4bd83f47f“cea”附近的语法不正确。我已经更改了它,现在它说:语法不正确near'cea','cea'是ID的一部分。或者如果我选择了不同的记录;无效的列名'b47a851b'。无效的列名'ccac'。无效的列名'aca1'。无效的列名'a2adab1643ca'。因此,取决于我单击的记录,它会给我不同的消息。看看我更新的答案。希望你能解决你的问题。投票人:不要投票回答时不要提供有力的理由。
string sqlCommand = "SELECT d1.*, d2.* FROM KFM.dbo.ToolBoxDocContent d1 inner join KFM.dbo.ToolBoxDocument as d2 on d1.DocumentId = d2.DocumentId " + " where d2.DocumentId = " + _id;
private void GetDataByID(string _id)
{
string connectionString = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
string sqlCommand = "SELECT d1.*, d2.* "
+ " FROM KFM.dbo.ToolBoxDocContent as d1"
+ " INNER JOIN KFM.dbo.ToolBoxDocument as d2 ON d1.DocumentId = d2.DocumentId"
+ " WHERE d2.DocumentId = @ID";
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(sqlCommand, connection))
{
cmd.Parameter.Add("@ID", SqlDbType.Int).Value = int.Parse(_id);
try
{
connection.Open();
using (SqlDataReader MyReader = cmd.ExecuteReader()_
{
while (MyReader.Read())
{
string sDueWeek = MyReader["DueWeek"].ToString();
string sTitle = MyReader["DocumentTitle"].ToString();
//string sEnglishBodyContent = MyReader["DocumentBody"].ToString();
//string sFrenchBodyContent = MyReader["DocumentBody"].ToString();
txb_Week.Text = sDueWeek;
txb_Title.Text = sTitle;
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}