怎么才可以实现在一个web页面点一个按钮之后上传一个Excel文件的数据到SQLServer2005的数据到数据库里面,之前把一个按钮的Onclick事件里调用了一个Winfrom程序集里的一个类,可以弹出一个对话框,然后选择一个Excel文件之后可以把里面的内容全部导入到数据库里去,但是这样做的话我把网站预编译好发布到IIS上去之后在客户端访问的时候就报错,错误如下:当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。 上网查了一下原因好像是无法将服务器窗体应用程序里的对话框传送到客户端,在预编译之前我直接用VS运行是可以的,原因的话可能是我的电脑又是服务端又是客户端的原因吧,不知道有高手做过类似的应用没,指教一下。
解决方案 »
- IHttpHandler下怎么设置全局变量Application
- 急 有关水晶报表打印问题
- return ViewState["SortExpression"] as string ?? string.Empty;
- .NET 如何实现这个功能 关于网上支付的 高手请教
- 百分赠送____在treeview中,如何用js获得,选中某节点下所有的子节点的NodeData值.????????
- vs.net中事件绑定丢失的问题?
- 超时时间已到。在从池中获取连接之前超时时间已过?????
- 三层的异常处理类如何写?
- treeview控件的显示怎么一片空白?
- 在vb中怎样使用GetSystemDirectory
- asp.net sql表读取数据并判断是否相等
- win7如何装sql2005
{
string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
OleDbConnection con = new OleDbConnection(conString);
OleDbDataAdapter oda = new OleDbDataAdapter(conStr, con);
DataTable dt = new DataTable();
con.Open();
oda.Fill(dt);
con.Close();
return dt;
}
string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileInfo.FullName + ";" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"";
string strExcel = "select * from [sheet1$]"; using (OleDbDataAdapter adaptor = new OleDbDataAdapter(strExcel, strConn))
{
DataSet ds = new DataSet();
adaptor.Fill(ds);
Excel_UserInfo = ds.Tables[0];
}然后遍历DataTable 插入数据库 用事务。
//执行事务处理
public void DoTran()
{ //建立连接并打开
SqlConnection myConn=GetConn();
myConn.Open();
SqlCommand myComm=new SqlCommand();
//SqlTransaction myTran=new SqlTransaction();
//注意,SqlTransaction类无公开的构造函数
SqlTransaction myTran;
//创建一个事务
myTran=myConn.BeginTransaction();
try
{
//从此开始,基于该连接的数据操作都被认为是事务的一部分
//下面绑定连接和事务对象
myComm.Connection=myConn;
myComm.Transaction=myTran; //定位到pubs数据库
myComm.CommandText="USE pubs";
myComm.ExecuteNonQuery();//操作1
myComm.CommandText=""; //操作2
myComm.ExecuteNonQuery();
//提交事务
myTran.Commit();
}
catch(Exception err)
{
myTran.rollback();
throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
}
finally
{
myConn.Close();
}
}