System.Data.SqlClient.SqlException:''='附近的语法不正确。在数据表和对象上

211086004

我在本网站和其他地方查看过许多类似的问题,但是没有一个问题对我有帮助。

我正在尝试通过查询建立数据库连接,但出现错误

System.Data.SqlClient.SqlException:''='附近的语法不正确。

在2个不同的代码行上。我试图在查询中使用=周围的空格,但这无济于事。

代码1是:

string connectieString = dbConnection();

SqlConnection connection = new SqlConnection(connectieString);

SqlCommand select = new SqlCommand();
select.Connection = connection;

select.Parameters.Add("@attackCategory", SqlDbType.NChar).Value = attackCategory;
select.Parameters.Add("@taughtOn", SqlDbType.NVarChar).Value = taughtOn;
select.CommandText = "SELECT ID, Name FROM attackCategory = @attackCategory WHERE TaughtOn = @taughtOn";

using (SqlDataAdapter sda = new SqlDataAdapter(select.CommandText, connection))
{
    DataTable dt = new DataTable();
    sda.Fill(dt);

    return dt;
}

sda.Fill(dt);代码行上引发了异常如果查询中未使用任何参数,则此代码有效:

string cmd = @"select ID, Name from " + attackCategory + " where TaughtOn ='" + taughtOn + "'";

代码2是:

string connectieString = dbConnection();

SqlConnection connection = new SqlConnection(connectieString);

SqlCommand select = new SqlCommand();
select.Connection = connection;

select.Parameters.Add("@attackCategory", SqlDbType.NVarChar).Value = attackCategory;
select.Parameters.Add("@ID", SqlDbType.Int).Value = id;
select.CommandText = "SELECT Name FROM attackCategory = @attackCategory WHERE ID = @ID";

connection.Open();
object name = select.ExecuteScalar();
connection.Close();

return name;

异常在object name = select.ExecuteScalar();代码行上触发如果在查询中使用1个参数,则此代码有效:

select.Parameters.Add("@ID", SqlDbType.Int).Value = id;
select.CommandText = "SELECT Inhabitants FROM Planet WHERE ID=@ID";
沙爹派

您不能提供具有名称的表名称参数,该参数适用于带有列值的where子句。

string cmd = @"select ID, Name from " + attackCategory + " where TaughtOn ='" + taughtOn + "'";

但是,我们需要简化在此查询中使用参数的过程。

SqlCommand select = new SqlCommand();
 select.Connection = connection;
 select.Parameters.Add("@taughtOn", SqlDbType.VarChar,50).Value = taughtOn;
 string cmd = @"select ID, Name from " + attackCategory + " where TaughtOn  =@taughtOn"; 
 select.CommandText = cmd;

在上面的tsql查询中,将应用字符串连接,并且字符串中包含表名,这将起作用。

编辑:-

我明白为什么您的sqlDataAdapter无法识别该参数。原因是您尚未提供。是的,没错,您提供的CommandText不是select可变的Command Object

我已更正您的代码。

select.Parameters.Add("@taughtOn", SqlDbType.VarChar, 50).Value = taughtOn; 
string cmd = @"select ID, Name from " + attackCategory + " where TaughtOn =@taughtOn"; 
select.CommandText = cmd; 
select.Connection = new SqlConnection("provide your sql string");
using (SqlDataAdapter sda = new SqlDataAdapter(select)) 
{ 
DataTable dt = new DataTable(); 
sda.Fill(dt); 
return dt; 
}

希望这可以帮助 !!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

System.Data.SqlClient.SqlException:“ =”附近的语法不正确

System.Data.SqlClient.SqlException:“ =”附近的语法不正确

System.Data.SqlClient.SqlException:'。附近的语法不正确。'

System.Data.SqlClient.SqlException: '',' 附近的语法不正确。

System.Data.dll中的“ System.Data.SqlClient.SqlException”(“')附近的语法不正确。”)?

System.Data.SqlClient.SqlException: '9' 附近的语法不正确

System.Data.SqlClient.SqlException: ''USERNAME' 附近的语法不正确。'

System.Data.SqlClient.SqlException:'((。)附近的语法不正确。“错误

异常是 System.Data.SqlClient.SqlException: '9988' 附近的语法不正确

System.Data.SqlClient.SqlException:'@ p0'附近的语法不正确。

部署到Azure时:System.Data.SqlClient.SqlException:'ON'附近的语法不正确

'='附近的语法不正确。在System.Data.SqlClient.SqlConnection.OnError(SqlException异常

System.Data.SqlClient.SqlException(0x80131904):'。附近的语法不正确

System.Data.SqlClient.SqlException:关键字“ WHERE”附近的语法不正确

System.Data.SqlClient.SqlException: ''Student' 附近的语法不正确

System.Data.SqlClient.SqlException: '')' 附近的语法不正确。在按钮保存

System.Data.dll中的类型'System.Data.SqlClient.SqlException'发生异常'b'附近的语法不正确

System.Data.dll中发生System.Data.SqlClient.SqlException(语法不正确)

'System.Data.SqlClient.SqlException'

当我调用此方法时,我收到一个错误“ System.Data.SqlClient.SqlException:'在cmd.ExecuteNonQuery();上'('。'附近的语法不正确;

数据库 System.Data.SqlClient.SqlException

强制参数Dapper和System.Data.SqlClient.SqlException

System.Data.SqlClient.SqlException: '无效的列名'"

System.Data.SqlClient.SqlException nvarchar浮动

异常在运行时停止在.NET Core应用程序中执行:System.Data.SqlClient.SqlException:'关键字'GROUP'附近的语法不正确。

在此int中= sc.executenonquery(); 正在给出错误“''system.data.sqlclient.sqlexception附近的语法不正确”怎么办?

何時使用 Microsoft.Data.SqlClient.SqlException 與 System.Data.SqlClient.SqlException?

System.Data.SqlClient.SqlException:无效的对象名称“ dbo.Slider”

Asp.net MVC错误System.Data.SqlClient.SqlException:'无效的对象名称'AspNetUsers'。