Sql文はクラスを構築し、マルチフィールドが追加または修正された場合、sql文を組み立てるのが便利である.
8416 ワード
using System;
using System.Collections.Generic;
using System.Text;
namespace MSCL
{
#region
/*
List<Ftv> ftvlist = new List<Ftv>();
ftvlist.Add(new Ftv("ErrorDetail", " "));
ftvlist.Add(new Ftv("ErrorFlag", "1"));
ftvlist.Add(new Ftv("ErrorRemark"," , "));
ftvlist.Add(new Ftv("ErrorTime", DateTime.Now.ToString()));
ftvlist.Add(new Ftv("OprationTime", DateTime.Now.ToString()));
//
string sql = MSCL.BuilderSql.InsertSql("AFM_SysLog", ftvlist);
MSCL.SqlHelper.ExecSql(sql);
//
string sql = MSCL.BuilderSql.UpdateSql("AFM_SysLog", ftvlist, "where ErrorID=166");
MSCL.SqlHelper.ExecSql(sql);
//
string sql = MSCL.BuilderSql.DeleteSql("AFM_SysLog", "where ErrorID=166");
MSCL.SqlHelper.ExecSql(sql);
*/
#endregion
#region
/// <summary>
///
/// </summary>
public class Ftv
{
/// <summary>
///
/// </summary>
/// <param name="fieldName"> </param>
/// <param name="fieldValue"> </param>
/// <param name="isNum"> </param>
public Ftv(string fieldName, string fieldValue, bool isNum)
{
this.fieldName = fieldName;
this.fieldValue = fieldValue;
this.isNum = isNum;
}
/// <summary>
///
/// </summary>
/// <param name="fieldName"> </param>
/// <param name="fieldValue"> </param>
public Ftv(string fieldName, string fieldValue)
{
this.fieldName = fieldName;
this.fieldValue = fieldValue;
}
private string fieldName;
/// <summary>
///
/// </summary>
public string FieldName
{
get { return fieldName; }
set { fieldName = value; }
}
private bool isNum = false;
/// <summary>
///
/// </summary>
public bool IsNum
{
get { return isNum; }
set { isNum = value; }
}
private string fieldValue;
/// <summary>
///
/// </summary>
public string FieldValue
{
get { return fieldValue; }
set { fieldValue = value; }
}
}
#endregion
#region SQL
/// <summary>
/// SQL
/// </summary>
public class BuilderSql
{
/// <summary>
/// Insert
/// </summary>
/// <param name="tableName"> </param>
/// <param name="ftvlist"> list</param>
/// <returns></returns>
public static string InsertSql(string tableName, List<Ftv> ftvlist)
{
StringBuilder sb = new StringBuilder();
sb.Append(" insert into ");
sb.Append(tableName);
sb.Append("(");
for (int i = 0; i < ftvlist.Count; i++)
{
Ftv ftv = (Ftv)ftvlist[i];
if (i != ftvlist.Count - 1)
{
sb.Append(ftv.FieldName + ",");
}
else
{
sb.Append(ftv.FieldName);
}
}
sb.Append(") values(");
for (int i = 0; i < ftvlist.Count; i++)
{
Ftv ftv = (Ftv)ftvlist[i];
if (ftv.IsNum)
{
if (i != ftvlist.Count - 1)
{
sb.Append(ftv.FieldValue + ",");
}
else
{
sb.Append(ftv.FieldValue);
}
}
else
{
if (i != ftvlist.Count - 1)
{
sb.Append("'" + ftv.FieldValue + "',");
}
else
{
sb.Append("'" + ftv.FieldValue + "'");
}
}
}
sb.Append(")");
return sb.ToString();
}
/// <summary>
/// Update
/// </summary>
/// <param name="tableName"> </param>
/// <param name="ftvlist"> list</param>
/// <param name="whereCondition"> where</param>
/// <returns></returns>
public static string UpdateSql(string tableName, List<Ftv> ftvlist, string whereCondition)
{
StringBuilder sb = new StringBuilder();
sb.Append(" update ");
sb.Append(tableName);
sb.Append(" set");
for (int i = 0; i < ftvlist.Count; i++)
{
Ftv ftv = (Ftv)ftvlist[i];
if (i != ftvlist.Count - 1)
{
if (ftv.IsNum)
{
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + ",");
}
else
{
sb.Append(" " + ftv.FieldName + "='" + ftv.FieldValue + "',");
}
}
else
{
if (ftv.IsNum)
{
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + "");
}
else
{
sb.Append(" " + ftv.FieldName + "='" + ftv.FieldValue + "'");
}
}
}
sb.Append(" " + whereCondition);
return sb.ToString();
}
/// <summary>
/// Delete
/// </summary>
/// <param name="tableName"> </param>
/// <param name="whereCondition"> where</param>
/// <returns></returns>
public static string DeleteSql(string tableName, string whereCondition)
{
StringBuilder sb = new StringBuilder();
sb.Append(" delete from ");
sb.Append(tableName);
sb.Append(" " + whereCondition);
return sb.ToString();
}
/// <summary>
/// Select
/// </summary>
/// <param name="tableName"> </param>
/// <param name="whereCondition"> where</param>
/// <returns></returns>
public static string SelectSql(string tableName, string whereCondition)
{
StringBuilder sb = new StringBuilder();
sb.Append(" select * from ");
sb.Append(tableName);
sb.Append(" " + whereCondition);
return sb.ToString();
}
/// <summary>
/// Select
/// </summary>
/// <param name="tableName"> </param>
/// <param name="fieldString"> name,sex,age,(pay1+pay2) as totalpay</param>
/// <param name="whereCondition"> where</param>
/// <returns></returns>
public static string SelectSql(string tableName, string fieldString, string whereCondition)
{
StringBuilder sb = new StringBuilder();
sb.Append(" select " + fieldString + " from ");
sb.Append(tableName);
sb.Append(" " + whereCondition);
return sb.ToString();
}
}
#endregion
}