C# + ADO.net



using System;

class Class1
{
	[STAThread]
	static void Main(string[] args)
	{
		Class1 obj=new Class1();

		obj._ExecuteReader();
		obj._ExecuteScalar();
		obj._ExecuteNonQuery();
		Console.WriteLine("END");
		Console.Read();
	
	}

	//ExecuteReader :行セットを返すコマンドの実行時に使用。
	//ExecuteScalar :SELECT COUNT(*) …など、データベースから単一の結果のみを取得する際に使用。
	//ExecuteNonQuery :INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンドの実行時に使用。

	//ADO.NETの接続には SQL Server 7.0 以降用に最適化された SqlConnection オブジェクトか、 OleDbConnection オブジェクトを使用する。

	//SQLServer用接続文字列
	private string connectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=ユーザーID;Data Source=SQLServerのあるコンピューター名;database=接続するデータベース名;";
	
	//Access用接続文字列
	//private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Test.mdb";

	//データリンクファイルからの接続
	//private string connectionString ="File Name = c:\\test.udl";

	//*****行セットを返すコマンド*****
	public void _ExecuteReader()
	{
		System.Data.OleDb.OleDbConnection oConn= new System.Data.OleDb.OleDbConnection(connectionString);
		System.Data.OleDb.OleDbCommand oCmd;
		System.Data.OleDb.OleDbDataReader oReader;
		oConn.Open();
		oCmd = oConn.CreateCommand();
		//応答が帰ってくるまでのタイムアウトを15分に設定
		//oCmd.CommandTimeout = 15 * 60;
		oCmd.CommandText = "SELECT TOP 1000 * FROM TABLE1";
		//ExecuteReader :行セットを返すコマンドの実行時に使用。
		oReader = oCmd.ExecuteReader();
		while(oReader.Read()){
			Console.WriteLine(oReader["FIELD1"].ToString());
		}
		oReader.Close();
		oConn.Close();
	}

	//*****SELECT COUNT(*) …など、データベースから単一の結果のみを取得する*****
	public void _ExecuteScalar()
	{
		System.Data.OleDb.OleDbConnection oConn= new System.Data.OleDb.OleDbConnection(connectionString);
		System.Data.OleDb.OleDbCommand oCmd;
		oConn.Open();
		oCmd = oConn.CreateCommand();
		//応答が帰ってくるまでのタイムアウトを15分に設定
		oCmd.CommandTimeout = 15 * 60;
		oCmd.CommandText = "SELECT COUNT(*) FROM TABLE1";
		//ExecuteScalar :SELECT COUNT(*) …など、データベースから単一の結果のみを取得する際に使用。
		Console.WriteLine(oCmd.ExecuteScalar().ToString());
		oConn.Close();
	}

	//*****INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンド*****
	private void _ExecuteNonQuery()
	{
		System.Data.OleDb.OleDbConnection oConn= new System.Data.OleDb.OleDbConnection(connectionString);
		System.Data.OleDb.OleDbCommand oCmd;
		oConn.Open();
		oCmd = oConn.CreateCommand();
		//応答が帰ってくるまでのタイムアウトを15分に設定
		oCmd.CommandTimeout = 15 * 60;
		oCmd.CommandText = "DELETE FROM TABLE1";
		//ExecuteNonQuery :INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンドの実行時に使用。
		int resolt = oCmd.ExecuteNonQuery();
		//影響を受けた行数
		Console.WriteLine(resolt.ToString());
		oConn.Close();
	}
}




▼うまく接続できない場合には、OleDbConnection をウィザードで接続することができます




<新しい接続>を選択するとこによりウィザードが起動します
ウィザードで接続が確立したら上記ソースの OleDbConnection 部分を次のように変更します。

System.Data.OleDb.OleDbConnection oConn = OleDbConnection1;


▼作成したプログラムを再配布するには

配布先のPCには、.NET Framework と MDAC が必要です。
両方ともMicrosoftに再配布可能パッケージがありますのでダウンロードして同時に配布する必要があります。






▲トップページ > Visual BASIC と C#