一个 SQLServer 控件 (www.jaron.cn)

本站原创的一个 SQLServer 控件
Jaron.CN 2005年3月11日 阅读:249次
 


点击下载: /chs_scripts/10/2005-03/images/20050311232222_82047.rar

引用 JaronSoft.Windows.UserControl.SQL

string txtDBServer 服务器地址
string txtLoginID 用户名
string txtDBTable 数据库名
string txtDBPass 数据库口令
string txtConnectMode 认证模式 SQL:SQL验证 Windows:Windows身份认证
string Version  返回控件的版本号

控件在应用程序中的应用

示例程序:

  private void btnCompress_Click(object sender, System.EventArgs e)
  {
   if (this.dB_WinCtrl1.txtDBTable.Trim()!="")
   {

    DialogResult DR = MessageBox.Show("在清理日志前,强烈建议您备份数据库,点击“是”继续清理日志,点击“否”终止清理,您确定吗?","注意",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
    if (DR == DialogResult.Yes)
    {
     getDBInfo();
     // step one.
     string strConnection = "Provider=SQLOLEDB;Data Source=" + this.dB_WinCtrl1.txtDBServer + ";Initial Catalog=" + this.dB_WinCtrl1.txtDBTable + "" +
      ";user id=" + this.dB_WinCtrl1.txtLoginID + ";password=" + this.dB_WinCtrl1.txtDBPass + ";";

     if (this.dB_WinCtrl1.txtConnectMode=="Windows")
     {
      strConnection = "Provider=sqloledb;Data Source=" + this.dB_WinCtrl1.txtDBServer + ";Initial Catalog=" + this.dB_WinCtrl1.txtDBTable + ";Integrated Security=SSPI;";
     }
     string sqlstring = "exec sp_dboption '" + this.dB_WinCtrl1.txtDBTable + "', 'trunc. log on chkpt.', 'True'"; //不再增大

     OleDbConnection myOleDbConnection = new OleDbConnection(strConnection);
     if (this.CB_NotAdd.Checked)
     {
      sqlstring = "exec sp_dboption '" + this.dB_WinCtrl1.txtDBTable + "', 'trunc. log on chkpt.', 'True'"; //不再增大
     }
     else
     {
      sqlstring = "exec sp_dboption '" + this.dB_WinCtrl1.txtDBTable + "', 'trunc. log on chkpt.', 'False'";
     }
     OleDbCommand myOleDbCommand = new OleDbCommand(sqlstring,myOleDbConnection);
     try
     {
      myOleDbConnection.Open();
      myOleDbCommand.ExecuteNonQuery();
      sqlstring = "BACKUP LOG [" + this.dB_WinCtrl1.txtDBTable.Trim() + "] WITH TRUNCATE_ONLY DBCC SHRINKFILE ([" + strLogname + "], 10)";
      myOleDbCommand = new OleDbCommand(sqlstring,myOleDbConnection);
      try
      {
       myOleDbCommand.ExecuteNonQuery();
      }
      catch(System.Data.OleDb.OleDbException ex)
      {
       MessageBox.Show("错误(e0d0000x1):" + ex.Message,"系统发生错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
      }
      finally
      {
       //MessageBox.Show();
      }
     }
     catch(System.Data.OleDb.OleDbException ex)
     {
      MessageBox.Show("错误(e0d0000x2):" + ex.Message,"系统发生错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
     }
     finally
     {
      if (myOleDbConnection.State == ConnectionState.Open) myOleDbConnection.Close();
      MessageBox.Show("数据库日志清理完毕!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
      getDBInfo();
     }
    }
    else
    {
     MessageBox.Show("数据库日志清理被用户取消,清理失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Hand);
    }    
   }
   else
   {
    MessageBox.Show("您没有选择要清理的数据库!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
   }
  }

posted @ 2005-11-12 23:46  torome  阅读(314)  评论(0)    收藏  举报