假期开始ADO连接的学习,首先碰到的就是环境的配置。以前学的ADO连接,但并没有怎么用。所以有一个星期的时间基本是在用实践着.net 1.0,不知道Gates知道了,会不会有点郁闷。
ADO连接在DCOM中运行是对于服务器端软件的设计是一个考验。特别是使用自由线程而且自己处理数据连接的时候。在Delphi中我个人认为使用DCOM来进行开发的时候如果没有特别的需要(如数据相应速度,和数据库连接数的限制),最好是使用单元线程,这样我们就无需为ADO连接的处理而担心了!
如果系统需要全局管理数据连接的那么一定要小心因为对于服务器端的系统而言只有当系统终止的时候才会回收数据连接。要防止多个线程同时访问同一个数据库连接。而在Delphi 的客户端开发的时候我们要尽量的将少生成业务对象的实例。
对于使用过的业务对象如果没有全局申明,那么在其申明的域以外就会被释放,一个好的传统是对于每个对象都在使用过以后赋值为nil,从而让系统回收。在构建一个State Server时,我们最好将ADOConnection的KeepConnection 设置为True,否则只有当这个State Object 被释放的时候才会被关闭,ADO连接因为KeepConnection只保证在没有数据集被关闭的情况下才能关闭连接!#t#
为此我们在使用State Server Object的时候可以将KeepConnection属性设置为True,这样我们就能够在我们不需要数据连接而需要对象的状态的时候自动的将数据库连接关闭。如果有很多的客户端同时连接到服务器,如果才用ADO连接将产生很多的数据库连接,这样就能够在不需要数据库连接的时候自动的关闭数据库连接。如果需要的时候再次打开。
插入记录:
- private void btnPublish_ServerClick(object sender, System.EventArgs e)
- {
- string strConnection = ConfigurationSettings.AppSettings["SqlDatabase1"];
- // 连接SqlServer数据库
- SqlConnection conn = new SqlConnection(strConnection);
- // 建立SqlCommand
- SqlCommand cmd = conn.CreateCommand();
- cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content) valueS ("
- + """ + txtTitle.Text + "","
- + """ + txtSubTitle.Text + "","
- + """ + txtWriter.Text + "","
- + """ + txtContent.Text + "")";
- conn.Open();
- //Response.Write (cmd.CommandText);