中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> .NET编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· 不用SQL语句查询Dat...
· DotNet语音技术实现...
· ASP中使用SQL语句教...
· ASP中使用SQL语句教...
· ASP中使用SQL语句教...
· Sql Server 和 Acce...
· ACCESS中使用SQL语句...
· ASP+Access莫名奇妙...
· ACCESS:跨数据库查...
· 通过sql语句获取数据...
dotnet下生成简单sql语句
作者:不详  来源:不详  发布时间:2006-8-14 8:28:54  发布人:chinazhan

 减小字体 增大字体

     static public void insert_sql(string tablename,Hashtable param_employeefield,string connstring)
   {
   //System.Web.HttpContext.Current.Response.Write("xxx");
   Hashtable ht_field=new Hashtable();
   ht_field=getfieldtype(tablename,connstring); //表的字段
   string field_value;
   string field_type;//字段类型
   string str_sql_fieldname="insert into " + "tablename("; //插入语句
   string str_sql_fieldvalue=" values(";
   string str_sql;
   foreach(object obj_param in param_employeefield)
   {
   field_type=ht_field[obj_param.ToString()].ToString();//获取 int型 or 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 tablename,Hashtable param_employeefield,string connstring)
   {
   Hashtable ht_field=new Hashtable();
   ht_field=getfieldtype(tablename,connstring);
   string field_value;
   string field_type;
   StringBuilder str_sql = new StringBuilder();
   str_sql.Append("update " + "tablename set ");
   string sql1;
   foreach(object obj_param in 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().Length-1)+" where";
   nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,sql1);
   }
  
   static protected string judgetype(string field_type,string field_value)
   {
   string str_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);
   }
  
   static protected Hashtable getfieldtype(string tablename,string connstring)
   {
   DataSet ds = new DataSet();
   Hashtable ht_field=new Hashtable();
   SqlParameter[] paramsToStore = new SqlParameter[1];
   paramsToStore[0] = new SqlParameter("@tablename", SqlDbType.NVarChar);
   paramsToStore[0].Direction=ParameterDirection.Input;
   paramsToStore[0].Value=tablename;
  
   ds=nsn.core.SqlHelper.ExecuteDataset(connstring,CommandType.StoredProcedure,"main_searchtable",paramsToStore);
   DataTable tbl=ds.Tables[0];
   foreach(DataRow row in tbl.Rows)
   {
  
   ht_field.Add(row["字段名"].ToString(),row["类型"].ToString());
   //System.Web.HttpContext.Current.Response.Write(row["字段名"].ToString());
   }
   return(ht_field);
   }
  
  main_searchtable 存储过程是
  CREATE PROCEDURE main_searchtable
  @tablename nvarchar(50)
  AS
  
  SELECT
   表名=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.name
  
  
  FROM syscolumns a
   left join systypes b on a.xtype=b.xusertype
   inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
  
   left join sysproperties f on d.id=f.id and f.smallid=0
  
  where d.name=@tablename --如果只查询指定表,加上此条件
  order by a.id,a.colorder
  GO
  
  
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .