当前位置:编程学习 > JAVA >>

asp.net 通过后台Javascript 上传表数据

Upload.aspx:
 
<%@ LANGUAGE='JAVASCRIPT' %>
<!-- #include file = "../adojvs.inc"-->
<!-- #include file = "../conn.inc"-->
<%
 
// 执行SQL语句
//2012-12-6 Gu Laicheng
function RunSQL(MySQL)
{
 var ret="";
 
 var rs1 = Server.CreateObject("ADODB.Recordset");
 rs1.CursorType = adOpenKeyset;
 rs1.LockType = adLockBatchOptimistic;
 
// Response.Write("<br/>" + MySQL + "");
 try {
  rs1.Open(MySQL,conn);
 }
 catch (ex) {
  var ErrStr,ErrStr0,ErrStr1="==>"+new Date()+"<br/>";
  ErrStr0 = "Error:"+ex+"<br/>"+MySQL;
  var o = conn.Errors;
  for (var i=0;i<o.Count;i++)
  {
   ErrStr1 += o.Item(i).Number + ":" + o.Item(i).Description+", "+o.Item(i).SQLState+";"+o.Item(i).Source ;
  }
  ErrStr =ErrStr0+"<br/>"+ErrStr1;
 
  o.Clear();
  Response.Write("<br/>" + ErrStr + "");
 }
  
 if(rs1.State==1)
 {
  if (!(rs1.BOF && rs1.EOF))
  {
   ret = rs1(0).value;
  }
  rs1.Close();
 }
 return ret;
}
 
var Class = {
   create: function() {
       return function(n) {
           this.initialize.apply(this, arguments);
      }
   }
}
 
var TABLE = Class.create();
 
TABLE.prototype = {
 initialize:function(TabName){
  this.TabName = TabName;
  this.Fields=[];
  this.FieldCount = 0;
  this.values=[];
  this.types=[];
  this.MySQL="";
  this.flag;
 },
 F:function(s)
 {
  var a=s.split(",");
  for(var i=1;i<a.length;i++)
  {
   this.Fields[i-1]=a[i];
  }
  this.FieldCount = a.length-1;
 },
 V:function(s)
 {
  var a=s.split(",");
  this.flag=a[0];
  for(var i=1;i<a.length;i++)
  {
   this.values[i-1]=a[i];
  }
  if(a[0]==1) this.Replace();
  if(a[0]==2) this.Insert();
  if(a[0]==3) this.Update();
  if(a[0]==4) this.Delete();
 },
 Replace:function()
 {
  if(this.values[0]==0)
   this.Insert();
  else
   this.Update();
 },
 Insert:function()
 {
  var fs="",vs="";
  var j=0; //i,j可能并不同步,有些列值可能为空,表示不插入其值,要保证sql的语法正确
  for(var i=0;i<this.FieldCount;i++)
  {
   if(this.values[i] == "NULL") continue;
   if(j == 0)
   {
    fs += this.Fields[i];
    vs += "'"+this.values[i]+"'";
   } else
   {
    fs += ","+this.Fields[i];
    vs += ",'"+this.values[i]+"'";
   }
   j++;
  }
  this.MySQL="insert into "+this.TabName+" ("+fs+") values ("+vs+")";
 },
 Update:function()
 {
  this.MySQL="update "+this.TabName+" set ";
  for(var i=1;i<this.FieldCount;i++)
  {
   if(this.values[i] == "NULL")
   {
    if(i != 1) this.MySQL += ",";
    this.MySQL += this.Fields[i]+"=null ";
   } else
   {
    if(i != 1) this.MySQL += ",";
    this.MySQL += this.Fields[i]+"='"+this.values[i]+"'";
   }
  }
  this.MySQL += " where "+this.Fields[0]+"='"+this.values[0]+"'";
 },
 Delete:function()
 {
  this.MySQL="delete from "+this.TabName+" where ";
  var j=0; //i,j可能并不同步,有些列值可能为空,表示不以其为条件,要保证sql的语法正确
  for(var i=0;i<this.FieldCount;i++)
  {
   if(this.values[i]=="") continue;
   if(this.values[i] == "NULL")
   {
    if(j != 0) this.MySQL += " and ";
    this.MySQL += this.Fields[i]+" is null ";
   } else
   {
    if(j != 0) this.MySQL += " and ";
    this.MySQL += this.Fields[i]+"='"+this.values[i]+"'";
   }
   j++;
  }
 }
};
 
 
 var fso, ts, s;
 var ForReading = 1, ForWriting = 2;
 
 var name;// = "c:\\web\\yafulwisad\\t\\t.csv";
 name = Server.MapPath("t.csv");
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 if (fso.FileExists(name))
 {
  Response.Write(" 文件 "+name+" 存在!");
  ts = fso.OpenTextFile(name, ForReading, true);
//  ts.SkipLine();
 
  var data=new TABLE(Request.QueryString("a")+"");
 
  s = ts.ReadLine();
  data.F(s);
  Response.Write("<br/>"+data.FieldCount);
  Response.Write("<br/>" + s.replace(/,/g,"\t") + "");
  Response.Write("<br/>" + data.Fields + "");
 
  while (!ts.AtEndOfStream)
  { www.zzzyk.com
   s = ts.ReadLine();
//   Response.Write("<br/>" + s.replace(/,/g,"\t") + "");
   data.V(s);
   Response.Write("<br/>" + data.MySQL + "");
   RunSQL(data.MySQL);
  }
  ts.Close();
 }
 else
 {
  Response.Write(" 文件 "+name+" 不存在,请核对后查询!");
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,