|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!sql|语句staticpublicvoidinsert_sql(stringtablename,Hashtableparam_employeefield,stringconnstring)
{
//System.Web.HttpContext.Current.Response.Write("xxx");
Hashtableht_field=newHashtable();
ht_field=getfieldtype(tablename,connstring);//表的字段
stringfield_value;
stringfield_type;//字段范例
stringstr_sql_fieldname="insertinto"+"tablename(";//拔出语句
stringstr_sql_fieldvalue="values(";
stringstr_sql;
foreach(objectobj_paraminparam_employeefield)
{
field_type=ht_field[obj_param.ToString()].ToString();//猎取int型orvarchar型等等
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);
}
staticpublicvoidupdate_sql(stringtablename,Hashtableparam_employeefield,stringconnstring)
{
Hashtableht_field=newHashtable();
ht_field=getfieldtype(tablename,connstring);
stringfield_value;
stringfield_type;
StringBuilderstr_sql=newStringBuilder();
str_sql.Append("update"+"tablenameset");
stringsql1;
foreach(objectobj_paraminparam_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().Length-1)+"where";
nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,sql1);
}
staticprotectedstringjudgetype(stringfield_type,stringfield_value)
{
stringstr_value;
switch(field_type)
{
case"int":str_value=field_value;
break;
case"varchar":str_value=""+field_value+"";
break;
case"ntext":str_value=""+field_value+"";
break;
case"datetime":str_value=""+field_value+"";
break;
case"tinyint":str_value=field_value;
break;
case"smallint":str_value=field_value;
break;
}
return(field_type);
}
staticprotectedHashtablegetfieldtype(stringtablename,stringconnstring)
{
DataSetds=newDataSet();
Hashtableht_field=newHashtable();
SqlParameter[]paramsToStore=newSqlParameter[1];
paramsToStore[0]=newSqlParameter("@tablename",SqlDbType.NVarChar);
paramsToStore[0].Direction=ParameterDirection.Input;
paramsToStore[0].Value=tablename;
ds=nsn.core.SqlHelper.ExecuteDataset(connstring,CommandType.StoredProcedure,"main_searchtable",paramsToStore);
DataTabletbl=ds.Tables[0];
foreach(DataRowrowintbl.Rows)
{
ht_field.Add(row["字段名"].ToString(),row["范例"].ToString());
//System.Web.HttpContext.Current.Response.Write(row["字段名"].ToString());
}
return(ht_field);
}
main_searchtable存储历程是
CREATEPROCEDUREmain_searchtable
@tablenamenvarchar(50)
AS
SELECT
表名=casewhena.colorder=1thend.nameelseend,
表申明=casewhena.colorder=1thenisnull(f.value,)elseend,
字段序号=a.colorder,
字段名=a.name,
标识=casewhenCOLUMNPROPERTY(a.id,a.name,IsIdentity)=1then√elseend,
范例=b.name
FROMsyscolumnsa
leftjoinsystypesbona.xtype=b.xusertype
innerjoinsysobjectsdona.id=d.idandd.xtype=Uandd.namedtproperties
leftjoinsyspropertiesfond.id=f.idandf.smallid=0
whered.name=@tablename--假如只查询指定表,加上此前提
orderbya.id,a.colorder
GO
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。 |
|