我是一名VB。NET的新手,现正用v.net开发asp.net的应用程序,在数据库连接中,我不想用.net提供的数据连接控件,我想在编程中实现数据的连接,我遇到了以下几个问题,请各位高手指教。
1、首先在起始页中定义了mydataset,mycommand,myconnection几个变量,在这个WEB页中实现了数据库的连接,但我在同一项目中新建了一个WEB页后,请问如何调用在起始页中设置的数据库连接?
2、一个WEB窗口中有dafagrid控件,我在page_load事件中用程序实现数据库的连接,但每次一点dadagrid控件上的更新按钮,该程序都会再次调用page_load事件,并重新连接数据库,这导致程序运行缓慢,请问数据库连接的文件应写在哪个事件中?
1.WEB开发是无态的,一次页面下载完了以后,服务器就不认识你了,所以无法使用第一个页面中创建的数据库链接对象(不建议把连接对象放到session中),
你在第二也的Page_load()只能重新连接数据库,然后在事件过程中使用数据库,做操作.
2.这个现象是正常的,每次你点击更新以后,又开始重新下载网页,程序又从头从Page_load()到Datagrid_updatecommand()又执行一边.
这些问题在windows开发中是不存在的.
我建议你还是用.ENT提供的那些数据库连接控件,这样vs的编译速度会快一些。
创建一个connection类,在需要调用是直接访问这个类就行了,如下:
using System;
using System.Data;
using System.Data.OleDb;
namespace myconnectionspace
{
public class myConnection
{
publi myConnection()
{
}
private string strconnection="Provider=MSDAORA.1;User Id=myUser;Password=mypwd;Data Source=mydataSource";
private OleDbConnection conn=new OleDbConnection(strconnection);
//setting attribute
public static OleDbConnection myConn
{
get
{
return conn;
}
}
public static string ConnectionString
{
get
{
return strconnection;
}
}
}
}
在外面可以这样访问:
myConnection.myConn;//获得连接对象。
myConnection.ConnectionString;//获得连接串。
像你所说的把创建连接对象放在page_Loa事件中处理是很不合理的