<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="renderer" content="ie-comp"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width"> <title>简易sql拼接代码生成器 C#版</title> <style> .txtContent{ width: 100%; height: 140px; } </style> </head> <body> 表名:<input type="text" id="txtTb" /> 主键:<input type="text" id="txtPKfield" /> 字段:<input type="text" id="txtField" /> <input type="button" value="生成" id="btnCreate" /> <br/><br/> <textarea class='txtContent' id='txtAddCode'></textarea> <br/> <textarea class='txtContent' id='txtDelCode'></textarea> <br/> <textarea class='txtContent' id='txtMdfCode'></textarea> <br/> <textarea class='txtContent' id='txtGetCode'></textarea> <script> function rightTrim(str, char){ if(str[str.length - 1] === char){ return str.substring(0, str.lastIndexOf(char)); } return str; } function leftTrim(str, char){ str = str.split("");//字符串 转 数组 str = str.reverse();//数组 倒置 str = str.join("");//数组 转 字符串 str = rightTrim(str, char); str = str.split("");//字符串 转 数组 str = str.reverse();//数组 倒置 str = str.join("");//数组 转 字符串 return str; } function allTrim(str, char){ str = rightTrim(str, char); str = leftTrim(str, char); return str; } function createParamLst(field){ var str = field.split(","); return str.join(","); } function createParamWithStringLst(field){ var fieldArr = field.split(","); var str = []; for(var i=0; i<fieldArr.length; i++){ str.push(" string " + fieldArr[i]); } return str.join(","); } function createPlaceholderLst(field){ var fieldArr = field.split(","); var str = []; for(var i=0; i<fieldArr.length; i++){ str.push("'{" + i + "}'"); } return str.join(","); } function createKVLst(field, startIndex){ var startIndex = startIndex ? startIndex : 0; var fieldArr = field.split(","); var str = []; for(var i=0; i<fieldArr.length; i++){ str.push(fieldArr[i] + "='{" + (i + startIndex) + "}'"); } return str.join(","); } function createKVWithAndLst(field, startIndex){ var startIndex = startIndex ? startIndex : 0; var fieldArr = field.split(","); var str = []; for(var i=0; i<fieldArr.length; i++){ str.push(" and " + fieldArr[i] + "='{" + (i + startIndex) + "}'"); } str = str.join(""); str = leftTrim(str, " "); str = leftTrim(str, "a"); str = leftTrim(str, "n"); str = leftTrim(str, "d"); return str; } function addCode(tb, field){ var paramLst = createParamLst(field); var placeholderLst = createPlaceholderLst(field); var code = ''; code = 'public string Add_' + tb + '(' + createParamWithStringLst(field) + ')\n'; code += '{\n'; code += ' string sql = @"insert into ' + tb + '(' + paramLst + ') values(' + placeholderLst + ')";\n'; code += ' sql = string.Format(sql, ' + paramLst + ');\n'; code += ' return sql;\n'; code += '}\n'; return code; }; function delCode(tb, PKfield){ var paramLst = createParamLst(PKfield); var kvLst = createKVWithAndLst(PKfield); var code = ''; code = 'public string Del_' + tb + '(' + createParamWithStringLst(PKfield) + ')\n'; code += '{\n'; code += ' string sql = @"delete from ' + tb + ' where ' + kvLst + '";\n'; code += ' sql = string.Format(sql, ' + paramLst + ');\n'; code += ' return sql;\n'; code += '}\n'; return code; }; function mdfCode(tb, field, PKfield){ var paramLst = createParamLst(field + ',' + PKfield); var kvLst1 = createKVLst(field); var kvLst2 = createKVWithAndLst(PKfield, kvLst1.split(",").length); var code = ''; code = 'public string Mdf_' + tb + '(' + createParamWithStringLst(field + ',' + PKfield) + ')\n'; code += '{\n'; code += ' string sql = @"update ' + tb + ' set ' + kvLst1 + ' where ' + kvLst2 + '";\n'; code += ' sql = string.Format(sql, ' + paramLst + ');\n'; code += ' return sql;\n'; code += '}\n'; return code; }; function getCode(tb, field){ var paramLst = createParamLst(field); var fieldArr = field.split(","); var code = ''; code = 'public string Get_' + tb + '(' + createParamWithStringLst(field) + ')\n'; code += '{\n'; code += ' string sql = @"select ' + paramLst + ' from ' + tb + ' where 1=1";\n'; var tmp = ''; for(var i=0; i<fieldArr.length; i++){ tmp += ' if(' + fieldArr[i] + ' != "")\n'; tmp += ' {\n'; tmp += ' sql += " and ' + fieldArr[i] + ' = \'" + ' + fieldArr[i] + ' + "\'' + '";\n'; tmp += ' }\n'; } code += tmp; code += ' return sql;\n'; code += '}\n'; return code; }; window.onload = function(){ document.getElementById("txtTb").value = "testTb"; document.getElementById("txtPKfield").value = "a,b,c"; document.getElementById("txtField").value = "d,e,f,g,h"; } document.getElementById("btnCreate").onclick = function(){ var tb = document.getElementById("txtTb").value; var PKfield = document.getElementById("txtPKfield").value; var field = document.getElementById("txtField").value; if((!tb) || (!PKfield) || (!field)){ alert("请完整输入!"); return; } document.getElementById("txtAddCode").value = addCode(tb, field); document.getElementById("txtDelCode").value = delCode(tb, PKfield); document.getElementById("txtMdfCode").value = mdfCode(tb, field, PKfield); document.getElementById("txtGetCode").value = getCode(tb, field); }; </script> </body> </html>
简易sql拼接代码生成器 C#版
猜你喜欢
转载自blog.csdn.net/low584710047/article/details/51176685
今日推荐
周排行