问题遇到的现象和发生背景
提示 string sql 后面语句有语法错误
问题相关代码,请勿粘贴截图
float a = 285;
string conStr = "server=DESKTOP-VAS78Q7\\SQLEXPRESS;database=db_test;uid=sa;pwd=123";
SqlConnection conn = new SqlConnection(conStr);
conn.Open();
string sql = "( select * from T4 where X11 < '" + a + "' order by X11 desc limit 1 ) union( select * from T4 where X11 > '" + a + "' order by X11 limit 1)";
SqlCommand Cmd = new SqlCommand(sql, conn);
SqlDataReader db = Cmd.ExecuteReader();n
if (db.Read())
{
double x11 = Convert.ToDouble(db["X11"]);
double y11 = Convert.ToDouble(db["Y11"]);
conn.Close();
}
运行结果及报错内容
SqlDataReader db = Cmd.ExecuteReader(); 其他信息: 关键字 'order' 附近有语法错误。
我的解答思路和尝试过的方法
无
我想要达到的结果
我需要实现想在C#中实现在数据库列X11中找到与数值a大小相邻的两个数。比如a=101,想查找出X11中100和105这两个数所在的行,X11为0 5 10 15等这样间隔的一串数据。并且把X11为100和105的行其他列数据读取出来。