โมฆะสาธารณะแบบคงที่ insert_sql (ชื่อตารางสตริง, Hashtable param_employeefield, สตริง connstring)
-
//System.Web.HttpContext.Current.Response.Write("xxx");
Hashtable ht_field=ใหม่ Hashtable();
ht_field=getfieldtype(ชื่อตาราง,connstring); // 表的字段
สตริง field_value;
string field_type;//字段类型
string str_sql_fieldname="insert into " + "tablename("; // 插入语句)
สตริง str_sql_fieldvalue=" ค่า (";
สตริง str_sql;
foreach (วัตถุ obj_param ใน param_employeefield)
-
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);
}
โมฆะสาธารณะแบบคงที่ update_sql (ชื่อตารางสตริง, Hashtable param_employeefield, สตริง connstring)
-
Hashtable ht_field=ใหม่ Hashtable();
ht_field=getfieldtype(ชื่อตาราง,connstring);
สตริง field_value;
สตริง field_type;
StringBuilder str_sql = StringBuilder ใหม่();
str_sql.Append("อัพเดต" + "ชุดชื่อตาราง");
สตริง sql1;
foreach (วัตถุ obj_param ใน param_employeefield)
-
field_type=ht_field[obj_param.ToString()].ToString();
field_value=param_employeefield[obj_param].ToString();
str_sql.ผนวก(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);
}
ผู้พิพากษาประเภทสตริงที่มีการป้องกันแบบคงที่ (สตริง field_type, สตริง field_value)
-
สตริง str_value;
สวิตช์ (field_type)
-
กรณี "int": str_value=field_value;
หยุดพัก;
กรณี "varchar": str_value="'"+field_value+"'";
หยุดพัก;
กรณี "ntext": str_value="'"+field_value+"'";
หยุดพัก;
กรณี "datetime":str_value="'"+field_value+"'";
หยุดพัก;
กรณี "เล็ก ๆ น้อย ๆ ": str_value=field_value;
หยุดพัก;
กรณี "smallint": str_value=field_value;
หยุดพัก;
-
กลับ(field_type);
}
Hashtable getfieldtype ที่มีการป้องกันแบบคงที่ (ชื่อตารางสตริง, สตริง connstring)
-
ชุดข้อมูล ds = ชุดข้อมูลใหม่ ();
Hashtable ht_field=ใหม่ Hashtable();
SqlParameter[] paramsToStore = SqlParameter ใหม่ [1];
paramsToStore[0] = ใหม่ SqlParameter("@tablename", SqlDbType.NVarChar);
paramsToStore[0].Direction=ParameterDirection.Input;
paramsToStore[0].Value=ชื่อตาราง;
ds=nsn.core.SqlHelper.ExecuteDataset (connstring,CommandType.StoredProcedure, "main_searchtable", paramsToStore);
DataTable tbl=ds.ตาราง[0];
foreach (แถว DataRow ใน tbl.Rows)
-
ht_field.Add(row["字段名"].ToString(),row["类型"].ToString());
//System.Web.HttpContext.Current.Response.Write(row["字段名"].ToString());
-
กลับ(ht_field);
}
main_searchtable 存储过程是
สร้างขั้นตอน main_searchtable
@ชื่อโต๊ะ นวาร์ชาร์(50)
เช่น
เลือก
表名=กรณีที่ a.colorder=1 แล้ว d.name else '' จบ
表说明=กรณีที่ a.colorder=1 แล้ว isnull(f.value,'') else '' end,
字段序号=a.สี,
字段名=a.ชื่อ,
标识=กรณีที่ COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 แล้ว '√'else '' จบ
类型=b.ชื่อ
จาก syscolumns
เหลือการรวม systypes b บน a.xtype=b.xusertype
เข้าร่วมภายใน sysobjects d บน a.id=d.id และ d.xtype='U' และ d.name<>'dtproperties'
เหลือการรวม sysproperties f บน d.id=f.id และ f.smallid=0
โดยที่ d.name=@tablename --如果只查询指定表,加上此条件
สั่งซื้อทาง a.id,a.colorder
ไป
http://liuxiaoyi666.cnblogs.com/archive/2006/05/28/411082.html