我試着去得到一個簡單的SQL語句在我的代碼,並獲得了DataTable
,出於某種原因,我得到這個奇怪的例外:無效的列名例外
無效的列名
這是我的代碼:
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 - 它完美。 所以我不知道..我的DB的
結構: ID,TITLE,V_DESCIPTION,UPLOAD_DATE,V_VIEW,USERNAME,評價,V_SOURCE,FLAG
謝謝:)
?也許一列或多列有保留字/關鍵字等? – 2012-07-20 21:30:58
@AaronBertrand,當然,編輯我的問題:) – thormayer 2012-07-20 21:33:54
使用sql-parameters來避免sql注入。旁註:您在使用DataAdapter時不必打開/關閉連接。 「填充」將隱式打開/關閉。不要拋出異常,而只拋出保持堆棧跟蹤。 – 2012-07-20 21:34:21