Click here to Skip to main content
16,006,378 members
Home / Discussions / C#
   

C#

 
GeneralTo change an int or float to text Pin
TehGT28-Aug-04 4:09
TehGT28-Aug-04 4:09 
GeneralRe: To change an int or float to text Pin
Mazdak28-Aug-04 4:44
Mazdak28-Aug-04 4:44 
GeneralDataGrid control Pin
sasan5628-Aug-04 3:43
sasan5628-Aug-04 3:43 
GeneralRe: DataGrid control Pin
Mazdak28-Aug-04 4:42
Mazdak28-Aug-04 4:42 
GeneralDatabases Autonumber mechanism Pin
EDden2Fly28-Aug-04 2:49
sussEDden2Fly28-Aug-04 2:49 
GeneralRe: Databases Autonumber mechanism Pin
Marc Clifton28-Aug-04 16:20
mvaMarc Clifton28-Aug-04 16:20 
GeneralRe: Databases Autonumber mechanism Pin
Den2Fly29-Aug-04 22:49
Den2Fly29-Aug-04 22:49 
GeneralMDB question Pin
jzb27-Aug-04 23:32
jzb27-Aug-04 23:32 
I use ado.net do something to mdb database. I found out the mdb database's size was been increased when it run some time.I can't confirm what it is cause.
It is my class,

using System;
using System.Data;
using System.Data.OleDb;
using System.Collections;

namespace RoadLib
{
///
/// NdnDataBase の概要の説明です。
///

public class NdnDataBase
{
protected string m_strConnectionString;
private OleDbConnection m_connection = null;
private OleDbTransaction m_transaction = null;

///
/// NdnDataBase の概要説明です
///

public NdnDataBase()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
m_connection = null;
}
///
/// NdnDataBase の概要説明です
///

/// <param name="strConnectionString" />
public NdnDataBase(string strConnectionString)
{
m_strConnectionString = strConnectionString;

m_connection = null;
}


///
/// DBコネクションを取得します
///

public OleDbConnection connection
{
get { return m_connection; }
}

///
/// DBトランザクションを取得します
///

public OleDbTransaction transaction
{
get { return m_transaction; }
}

///
/// データベースを開くために使用接続する
///

public string connectionString
{
get { return m_strConnectionString; }

set { m_strConnectionString = value;}
}

///
/// 指定のデータベースでセッションを開く
///

/// <returns>
public OleDbConnection DBOpen()
{
if(m_connection == null)
{
try
{
//データベース接続パラメータを取得
if (m_strConnectionString == "")
{
return null;
}
m_connection = new OleDbConnection(m_strConnectionString);

//DBオープン
m_connection.Open();
}
catch(Exception err)
{
//NdnPublicFunction.WriteLog(m_strLogFileName, err.Message);
m_connection = null;
throw (err);
}
}

return m_connection;
}

///
/// データベースでセッションを閉じる
///

/// <param name="connection" />
public void DBClose()
{
try
{
//DBクローズ
if (m_connection != null)
{
m_connection.Close();
}
}
catch
{
}
finally
{
//初期値を設定
m_transaction = null;
m_connection = null;
}
}

///
/// SQLステートメントを実行
///

/// <param name="strCommandText" />
/// <param name="connection" />
/// <param name="transaction" />
/// <returns>
public bool ExecSql(string strCommandText, OleDbConnection connection, OleDbTransaction transaction)
{
bool bReturn = false;
OleDbCommand dbCommand = new OleDbCommand(strCommandText, connection, transaction);
try
{
dbCommand.ExecuteNonQuery();
bReturn = true;
}
catch( Exception err)
{
throw (err);
}
return bReturn;
}

///
/// データベースでトランザクションを開始します
///

/// <returns>
public bool BeginTrans()
{
bool bReturn = false;
try
{
if (m_connection != null)
{
m_transaction = m_connection.BeginTransaction();
bReturn = true;
}
}
catch (Exception err)
{
throw err;
}
return bReturn;
}

///
/// データベースでトランザクションをコミットします
///

/// <returns>
public bool CommitTrans()
{
bool bReturn = false;
try
{
if (m_transaction != null)
{
m_transaction.Commit();
bReturn = true;
}
}
catch (Exception err)
{
throw err;
}
finally
{
m_transaction = null;
}
return bReturn;
}



///
/// データベースでトランザクションをロールバックします
///

/// <returns>
public bool RollbackTrans()
{
bool bReturn = false;
try
{
if (m_transaction != null)
{
m_transaction.Rollback();
bReturn = true;
}
}
catch (Exception err)
{
throw err;
}
finally
{
m_transaction = null;
}

return bReturn;
}

}
}


I use it to operate mdb database.
for example:

NdnDataBase database = new NdnDataBase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nara.mdb;User Id=admin;Password=;");
try
{
database.DBOpen();
database.BeginTrans();
database.ExecSql("Delete from ttt");
...
database.ExecSql("Insert into ttt values(1, 2)", database.connection, database.transaction);

database.CommitTrans();
...
}
catch
{
database.RollbackTrans();
}
finally
{
database.DBClose();
}

it operation is in a timer event.

At last, the database is bad.
GeneralRe: MDB question Pin
mav.northwind28-Aug-04 0:03
mav.northwind28-Aug-04 0:03 
GeneralRe: MDB question Pin
dbetting28-Aug-04 4:28
dbetting28-Aug-04 4:28 
GeneralRe: MDB question Pin
Marc Clifton28-Aug-04 16:22
mvaMarc Clifton28-Aug-04 16:22 
Generalusing Alpha Color - Mouse Rectangle rendered Pin
CRier27-Aug-04 22:10
CRier27-Aug-04 22:10 
GeneralRe: using Alpha Color - Mouse Rectangle rendered Pin
mav.northwind27-Aug-04 22:29
mav.northwind27-Aug-04 22:29 
GeneralRe: using Alpha Color - Mouse Rectangle rendered Pin
CRier27-Aug-04 23:00
CRier27-Aug-04 23:00 
GeneralRe: using Alpha Color - Mouse Rectangle rendered Pin
mav.northwind27-Aug-04 23:48
mav.northwind27-Aug-04 23:48 
GeneralDrawing text via &quot;DrawThemeText&quot; Problem Pin
Tristan Rhodes27-Aug-04 19:45
Tristan Rhodes27-Aug-04 19:45 
GeneralSave Pin
WartHog00027-Aug-04 15:13
WartHog00027-Aug-04 15:13 
GeneralRe: Save Pin
Heath Stewart27-Aug-04 15:26
protectorHeath Stewart27-Aug-04 15:26 
GeneralRe: Save Pin
WartHog00027-Aug-04 15:37
WartHog00027-Aug-04 15:37 
GeneralRe: Save Pin
dbetting28-Aug-04 10:35
dbetting28-Aug-04 10:35 
GeneralRe: Save Pin
WartHog00029-Aug-04 13:25
WartHog00029-Aug-04 13:25 
GeneralCursor position in a Combobox Pin
StephenMcAllister27-Aug-04 9:45
StephenMcAllister27-Aug-04 9:45 
GeneralRe: Cursor position in a Combobox Pin
Heath Stewart27-Aug-04 10:05
protectorHeath Stewart27-Aug-04 10:05 
GeneralGetRow() procedure in ADO.NET Pin
sasan5627-Aug-04 9:26
sasan5627-Aug-04 9:26 
GeneralRe: GetRow() procedure in ADO.NET Pin
LongRange.Shooter27-Aug-04 9:42
LongRange.Shooter27-Aug-04 9:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.