当前位置:  开发笔记 > 编程语言 > 正文

使用列名向量,生成一个sql语句

如何解决《使用列名向量,生成一个sql语句》经验,为你挑选了1个好方法。

我们需要在工作场所定期解决的问题是如何根据用户提供的表/列名称构建sql语句.我想解决的问题是列名之间的逗号.

一种技术看起来像这样.

selectSql  = "SELECT ";

for (z = 0; z < columns.size(); z++)
{
    selectSql += columns[z]._name;
    selectSql += ", "; 
}

selectSql = selectSql(0, selectSql.len() - 2);

selectSql += "FROM some-table";

另一种技术看起来像这样

selectSql  = "SELECT ";

for (z = 0; z < columns.size(); z++)
{
    selectSql += columns[z]._name;
    if (z < columns.size() - 1) 
        selectSql += ", "; 
}

selectSql += "FROM some-table";

我并不特别被这些实现中的任何一个所吸引.

我很有兴趣听到其他解决这个问题的方法的想法,着眼于使代码更容易阅读/理解/维护.

有哪些替代技术?



1> tvanfosson..:

在您的情况下,可以安全地假设至少有一列,否则进行选择没有意义.在这种情况下,您可以这样做:

selectSql  = "SELECT ";
selectSql += columns[0]._name;

for (z = 1; z < columns.size(); z++) {
   selectSql += ", ";
   selectSql += columns[z]._name;
}

selectSql += " FROM some-table";

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有