static public void insert_sql(string 表名,Hashtable param_employeefield,string connstring)
{
//System.Web.HttpContext.Current.Response.Write("xxx");
哈希表 ht_field=new Hashtable();
ht_field=getfieldtype(表名,connstring); //表格的字段
字串字段值;
string field_type;//欄位類型
string str_sql_fieldname="insert into " + "tablename("; //插入語句
字串 str_sql_fieldvalue=" 值(";
字串str_sql;
foreach(param_employeefield 中的物件 obj_param)
{
field_type=ht_field[obj_param.ToString()].ToString();//取得int型或varchar型等等
field_value=param_employeefield[obj_param].ToString();
str_sql_fieldname+=param_employeefield[obj_param].ToString()+",";
str_sql_fieldvalue+=judgetype(field_type,field_value)+",";
}
str_sql_fieldname=str_sql_fieldname.Substring(1,str_sql_fieldname.Length)+")";
str_sql_fieldvalue=str_sql_fieldvalue.Substring(1,str_sql_fieldvalue.Length)+")";
str_sql=str_sql_fieldname+str_sql_fieldvalue;
nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,str_sql);
}
static public void update_sql(string 表名,Hashtable param_employeefield,string connstring)
{
哈希表 ht_field=new Hashtable();
ht_field=getfieldtype(表名,connstring);
字串字段值;
字串字段類型;
StringBuilder str_sql = new StringBuilder();
str_sql.Append("更新" + "表名設定");
字串sql1;
foreach(param_employeefield 中的物件 obj_param)
{
field_type=ht_field[obj_param.ToString()].ToString();
field_value=param_employeefield[obj_param].ToString();
str_sql.Append(param_employeefield[obj_param].ToString()+"="+judgetype(field_type,field_value)+",");
}
sql1=str_sql.ToString().Substring(1,str_sql.ToString().Length-1)+" 其中";
nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,sql1);
}
static protected string Judgetype(string field_type,string field_value)
{
字串 str_value;
開關(字段類型)
{
案例“int”:str_value=field_value;
休息;
case "varchar": str_value="'"+field_value+"'";
休息;
case "ntext": str_value="'"+field_value+"'";
休息;
case "datetime":str_value="'"+field_value+"'";
休息;
案例“tinyint”:str_value=field_value;
休息;
案例“smallint”:str_value=field_value;
休息;
}
返回(字段類型);
}
static protected Hashtable getfieldtype(string 表名,string connstring)
{
資料集 ds = new 資料集();
哈希表 ht_field=new Hashtable();
SqlParameter[] paramsToStore = new SqlParameter[1];
paramsToStore[0] = new SqlParameter("@tablename", SqlDbType.NVarChar);
paramsToStore[0].Direction=ParameterDirection.Input;
paramsToStore[0].Value=表名;
ds=nsn.core.SqlHelper.ExecuteDataset(connstring,CommandType.StoredProcedure,"main_searchtable",paramsToStore);
資料表 tbl=ds.Tables[0];
foreach(tbl.Rows 中的 DataRow 行)
{
ht_field.Add(row["欄位名稱"].ToString(),row["型別"].ToString());
//System.Web.HttpContext.Current.Response.Write(row["字段名稱"].ToString());
}
返回(ht_field);
main_searchtable
預存程序是
建立過程 main_searchtable
@表名 nvarchar(50)
作為
選擇
表名=case when a.colorder=1 then d.name else '' end,
表說明=case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序號=a.colorder,
字段名=a.name,
標識=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
類型=b.名稱
FROM 系統列 a
在 a.xtype=b.xusertype 上左連接 systypes b
在 a.id=d.id 和 d.xtype='U' 和 d.name<>'dtproperties' 上內連接 sysobjects d
在 d.id=f.id 和 f.smallid=0 上左連接 sysproperties f
where d.name=@tablename --如果只查詢指定表,加上此條件
按 a.id,a.colorder 訂購
前往
http://liuxiaoyi666.cnblogs.com/archive/2006/05/28/411082.html