static public void insert_sql(string nama tabel, Hashtable param_employeefield, string connstring)
{
//Sistem.Web.HttpContext.Saat ini.Respon.Write("xxx");
Hashtable ht_field=Tashtable baru();
ht_field=getfieldtype(nama tabel,koneksi); //表的字段
string bidang_nilai;
string field_type;//字段类型
string str_sql_fieldname="masukkan ke dalam " + "namatabel("; //插入语句
string str_sql_fieldvalue="nilai(";
string str_sql;
foreach(objek obj_param di param_employeefield)
{
field_type=ht_field[obj_param.ToString()].ToString();//获取 int型 atau 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_namabidang=str_sql_namabidang.Substring(1,str_sql_namabidang.Panjang)+")";
str_sql_fieldvalue=str_sql_fieldvalue.Substring(1,str_sql_fieldvalue.Panjang)+")";
str_sql=str_sql_namabidang+str_sql_nilaibidang;
nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Teks,str_sql);
}
static public void update_sql(string nama tabel, Hashtable param_employeefield, string connstring)
{
Hashtable ht_field=Tashtable baru();
ht_field=getfieldtype(nama tabel,koneksi);
string bidang_nilai;
string bidang_tipe;
StringBuilder str_sql = StringBuilder baru();
str_sql.Append("perbarui " + "kumpulan nama tabel ");
string sql1;
foreach(objek obj_param di param_employeefield)
{
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().Panjang-1)+" di mana";
nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,sql1);
}
tipe juri string yang dilindungi statis(string field_type,string field_value)
{
string str_nilai;
beralih(tipe_bidang)
{
kasus "int": str_value=field_value;
merusak;
kasus "varchar": str_value="'"+field_value+"'";
merusak;
kasus "ntext": str_value="'"+field_value+"'";
merusak;
case "datetime":str_value="'"+field_value+"'";
merusak;
kasus "tinyint": str_value=field_value;
merusak;
kasus "smallint": str_value=field_value;
merusak;
}
kembali(tipe_bidang);
}
getfieldtype Hashtable yang dilindungi statis (nama tabel string, string penghubung)
{
Kumpulan Data ds = Kumpulan Data baru();
Hashtable ht_field=Tashtable baru();
SqlParameter[] paramsToStore = SqlParameter[1] baru;
paramsToStore[0] = new SqlParameter("@namatabel", SqlDbType.NVarChar);
paramsToStore[0].Direction=ParameterDirection.Input;
paramsToStore[0].Value=nama tabel;
ds=nsn.core.SqlHelper.ExecuteDataset(connstring,CommandType.StoredProcedure,"main_searchtable",paramsToStore);
DataTable tbl=ds.Tabel[0];
foreach(baris DataRow di tbl.Rows)
{
ht_field.Add(baris["字段名"].ToString(),baris["类型"].ToString());
//System.Web.HttpContext.Current.Response.Write(baris["字段名"].ToString());
}
kembali(ht_field);
}
main_searchtable 存储过程是
BUAT PROSEDUR main_searchtable
@namatabel nvarchar(50)
SEBAGAI
MEMILIH
表名=kasus ketika a.colorder=1 lalu d.nama lain '' berakhir,
表说明=kasus ketika a.colorder=1 maka isnull(f.value,'') else '' berakhir,
字段序号=a.pewarna,
字段名=a.nama,
标识=kasus ketika COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 lalu '√'else '' berakhir,
类型=b.nama
DARI kolom a
kiri bergabung dengan systypes b di a.xtype=b.xusertype
inner join sysobjects d pada a.id=d.id dan d.xtype='U' dan d.name<>'dtproperties'
kiri gabung sysproperties f pada d.id=f.id dan f.smallid=0
di mana d.name=@tablename --如果只查询指定表,加上此条件
pesan lewat a.id,a.colorder
PERGI
http://liuxiaoyi666.cnblogs.com/archive/2006/05/28/411082.html