网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.正则表达式在网页处理中的应用四.
.asp.net 2.0 主题中多CSS文件引用.
.ASP.NET—From验证:全部代码及讲.
.在虚拟主机上用asp.net轻松实现u.
.ASP.NET中使用数据处理插入数据注.
..net 做的IP 访问限制 .
.ASP.NET Forums 页面模型分析.
.ASP.NET2.0瞎记-加密链接字符串.
.asp.net技术的学习顺序问题.
.asp.net 2.0 与1.1 在生成的前台.
.追踪ASP.NET代码里的bug.
.ASP.NET中使用Apache log4net .
..net2.0中使用SqlBulkCopy进行大.
.ASP.Net 2.0 图形控件简述.
.ASP.NET2.0中配置文件的加密与解.
.使用asp.net进行多关键字查询的例.
.ASP.NET 2.0程序安全的基础知识.
.利用.net反射动态调用指定程序集.
.IBatisNet系列-执行存储过程.
.两种添加数据到DropDownList控件.

dotnet下生成简单sql语句

发表日期:2006-5-28


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

http://liuxiaoyi666.cnblogs.com/archive/2006/05/28/411082.html

上一篇:在ASP.NET Atlas中调用Web Service—创建Mashup调用远端Web Service(Yahoo!天气实例) 人气:6070
下一篇:在ASP.NET Atlas中调用Web Service——创建Mashup调用远端Web Service(Google Search实例) 人气:6113
浏览全部sql的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐