我收到以下错误:
错误:-201 MEssage:[Informix .NET provider] [Informix]发生了语法错误。
当我尝试执行此代码时:
string table_name = resultDt.Rows[0][1].ToString();
string pdf_column = resultDt.Rows[0][0].ToString();
st.Append(" SELECT ? FROM ?");
paramList.Clear();
paramList.Add("@tablename", table_name);
paramList.Add("@pdf_column", pdf_column);
resultDt =dalHelper.Return_DataTable(st.ToString(), CommandType.Text, paramList);
return resultDt;
答案 0 :(得分:3)
你不能。
请改用String.Replace。
st.Append(" SELECT @pdf_column FROM @tablename");
st.Replace("@tablename", table_name);
st.Replace("@pdf_column", pdf_column);
如果table_name和pdf_column来自用户输入,你应该使用QuoteName函数(即QuoteName(table_name)
)来阻止sql注入。不了解Informix,但here是SqlServer的一个。