这是一种从我的数据库中的视图中获取数据的方法。
public static DataTable GetUnloadingPointList(string whereClause, string connectionString)
{
string strSql = @"SELECT * FROM view_ODW_SI_UnloadingPoints ";
if (!string.IsNullOrEmpty(whereClause))
{
strSql += "where " + whereClause;
}
我在这里要做的是按id添加order by
子句。我在excel中的导出是通过另一种方法完成的,但我需要这个。
答案 0 :(得分:2)
试试这个:
public static DataTable GetUnloadingPointList(string whereClause, string connectionString)
{
string strSql = @"SELECT * FROM view_ODW_SI_UnloadingPoints where 1=1 ";
if (!string.IsNullOrEmpty(whereClause))
{
strSql += " and " + whereClause;
}
strSql += " order by id " ;
答案 1 :(得分:2)
当您必须在字符串的中间中插入某些内容( where子句或其他内容)时,我建议使用格式:
public static DataTable GetUnloadingPointList(string whereClause,
string connectionString) {
String strSql = String.Format(
@" SELECT *
FROM view_ODW_SI_UnloadingPoints
{0}
ORDER BY id",
string.IsNullOrEmpty(whereClause) ? "" : "WHERE " + whereClause);
...
}
当您必须组装复杂字符串时,格式化非常有用(例如具有,按排序, group by < / em>等)。在 C#6.0 中,您可以使用字符串插值:
public static DataTable GetUnloadingPointList(string whereClause,
string connectionString) {
String strSql =
$@" SELECT *
FROM view_ODW_SI_UnloadingPoints
{(String.IsNullOrEmpty(whereClause) ? "" : "WHERE " + whereClause)}
ORDER BY id";
...