我一直在使用的 INSERT 语法是这样的
INSERT INTO TableName VALUES (...)
我一直在使用的 UPDATE 语法是
UPDATE TableName SET ColumnName=Value WHERE ...
所以在我所有的代码中,我必须生成 2 个字符串,这会导致这样的结果
insertStr = "(27, 'John Brown', 102)";
updateStr = "ID=27, Name='John Brown', ItemID=102";
然后分别使用
"UPDATE TableName SET " + updateStr + " WHERE ID=27 " +
"IF @@ROWCOUNT=0 "+
"INSERT INTO TableName VALUES (" + insertStr + ")"
当我处理大约有 30 列的表格时,它开始困扰我。
我们不能只生成一个字符串用于 INSERT 和 UPDATE 吗?
例如。在 UPDATE 语句上使用上面的 insertStr 或在 INSERT 语句上使用 updateStr ,还是一种全新的方式?
最佳答案
我认为你需要一种全新的方法。您对 持开放态度SQL Injection .向我们提供一些示例代码,说明您如何获取数据输入并将语句发送到数据库。
alt text http://goose.ycp.edu/~weddins/440/S09%20IFS440%20Bobby%20Drop%20Tables.PNG
关于SQL:对 INSERT 和 UPDATE 使用相同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790257/