gpt4 book ai didi

sql-server - 无效列名异常

转载 作者:行者123 更新时间:2023-12-02 05:36:42 25 4
gpt4 key购买 nike

我试图在我的代码中获取一个简单的 SQL 语句,并获取一个 DataTable,但出于某种原因我得到了这个奇怪的异常:

Invalid column name

这是我的代码:

public DataTable GetAllVideoID(string stringId)
{
dt = new DataTable();
dataObj = new DataObj();
sql = "SELECT * FROM TBL_VIDEOS WHERE TBL_VIDEOS.ID=" + stringId;

return dt = dataObj.SelectDataTable(sql);
}

public DataTable SelectDataTable(string sql)
{
try
{
conn = new SqlConnection(conString);
conn.Open();
adapter = new SqlDataAdapter(sql, conn);

dt = new DataTable();

adapter.Fill(dt);



return dt;
}
catch (Exception e)
{

throw e;
}
finally { conn.Close(); }

}

当我在我的管理工具上运行它时,只有 statemnet - 它工作得很好。所以我不知道..

我的数据库结构:ID,TITLE,V_DESCIPTION,UPLOAD_DATE,V_VIEW,USERNAME,RATING,V_SOURCE,FLAG

谢谢:)

最佳答案

将你的 sql 更改为

sql = "SELECT * FROM TBL_VIDEOS WHERE TBL_VIDEOS.ID='" + stringId+"'";

可以解决这个问题。这会在 stringId 的值周围加上单引号,例如.ID = '10'

如果 stringId = 'user' 您的查询变为

 sql = "SELECT * FROM TBL_VIDEOS WHERE TBL_VIDEOS.ID=user
instead of
sql = "SELECT * FROM TBL_VIDEOS WHERE TBL_VIDEOS.ID = 'user'

但是 user 不是 sql 中的有效变量,所以你得到无效的列名

关于sql-server - 无效列名异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com