C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: accessでcreate tableができません。


(過去ログ 85 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■50252 / inTopicNo.1)  accessでcreate tableができません。
  
□投稿者/ 裕猫 (114回)-(2010/06/01(Tue) 16:10:39)

分類:[C#] 

WindowsXP VisualStudio2008 C#です。
先日はOracleでお世話になりました。Oracleがコントロールできるようになったら、今度はaccessでプログラムを作成する必要が出てきました。
Microsoft.Jet.OLEDB.4.0を使いoracleの知識を元に
        private void button1_Click(object sender, EventArgs e)
        {
            System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection();
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data source= test.mdb";
            try
            {
                con.Open();
                MessageBox.Show("接続成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            System.Data.OleDb.OleDbCommand com = new System.Data.OleDb.OleDbCommand();
            com.CommandText = "CREATE TABLE GN30(番号 varchar[2], 得意先 varchar[12], 金額 int)";
            int i;
            i = com.ExecuteNonQuery();
            MessageBox.Show("完了");
            con.Close();
        }
と作りましたが、接続は成功するのですがCREATE TABLEでExecuteNonQuery: Connection プロパティは初期化されていません。というエラーが出てしまいます。
MSDNのヘルプを読みましたが、何を書いてあるのか理解できません。間違いのわかる方、間違いを教えてください。よろしくお願いいたします。

引用返信 編集キー/
■50254 / inTopicNo.2)  Re[1]: accessでcreate tableができません。
□投稿者/ みきぬ (902回)-(2010/06/01(Tue) 16:33:53)
OleDbCommand に、OleDbConnection が紐付けられているか確認。
引用返信 編集キー/
■50256 / inTopicNo.3)  Re[1]: accessでcreate tableができません。
□投稿者/ 渋木宏明(ひどり) (1347回)-(2010/06/01(Tue) 17:30:12)
渋木宏明(ひどり) さんの Web サイト
> System.Data.OleDb.OleDbCommand com = new System.Data.OleDb.OleDbCommand();

cn.CreateCommand() のがよくない?
引用返信 編集キー/
■50268 / inTopicNo.4)  Re[2]: accessでcreate tableができません。
□投稿者/ 裕猫 (115回)-(2010/06/02(Wed) 08:29:10)
No50254 (みきぬ さん) に返信
> OleDbCommand に、OleDbConnection が紐付けられているか確認。
おはようございます。確認しようとしたのですが、やりかたがわからなくて確認できませんでした。いま調べてはいるんですが、確認できていません。アドバイスくださったのにすみません。
引用返信 編集キー/
■50269 / inTopicNo.5)  Re[2]: accessでcreate tableができません。
□投稿者/ 裕猫 (116回)-(2010/06/02(Wed) 08:31:01)
No50256 (渋木宏明(ひどり) さん) に返信
>> System.Data.OleDb.OleDbCommand com = new System.Data.OleDb.OleDbCommand();
>
> cn.CreateCommand() のがよくない?
おはようございます。そういう書き方もありますか。やってみます。ありがとうございます。
引用返信 編集キー/
■50271 / inTopicNo.6)  Re[3]: accessでcreate tableができません。
□投稿者/ みきぬ (903回)-(2010/06/02(Wed) 09:36:32)
2010/06/02(Wed) 09:40:59 編集(投稿者)

No50268 (裕猫 さん) に返信
> ■No50254 (みきぬ さん) に返信
>>OleDbCommand に、OleDbConnection が紐付けられているか確認。
> おはようございます。確認しようとしたのですが、やりかたがわからなくて確認できませんでした。いま調べてはいるんですが、確認できていません。アドバイスくださったのにすみません。

確認するところは、OleDbCommand の Connection プロパティの中身です。
最初の書き方だと com と con が全く関連づいてないので、com は何の接続を使って実行するかがわからないのです(com.Connection プロパティの値が null の状態)

・OleDbCommand のコンストラクタで OleDbConnection を指定する
・OleDbCommand.Connection プロパティに OleDbConnection を設定する
・OleDbConnection から OleDbCommand オブジェクトを作る(渋木さんの方法)
とかしてください。
引用返信 編集キー/
■50299 / inTopicNo.7)  Re[4]: accessでcreate tableができません。
□投稿者/ 裕猫 (117回)-(2010/06/03(Thu) 10:56:23)
No50271 (みきぬ さん) に返信
> ・OleDbCommand のコンストラクタで OleDbConnection を指定する
> ・OleDbCommand.Connection プロパティに OleDbConnection を設定する
> ・OleDbConnection から OleDbCommand オブジェクトを作る(渋木さんの方法)
> とかしてください。
返信遅れてすみません。昨日出社後体調不良にてダウンしちゃいまして1日中寝込んでしまいました。ただいま
> ・OleDbCommand のコンストラクタで OleDbConnection を指定する
> ・OleDbConnection から OleDbCommand オブジェクトを作る(渋木さんの方法)
の2通りができそうなのでやってみております。できましたらまたご連絡いたします。
引用返信 編集キー/
■50370 / inTopicNo.8)  Re[3]: accessでcreate tableができません。
□投稿者/ 裕猫 (118回)-(2010/06/04(Fri) 13:04:37)
いろいろご指導ありがとうございました。試行錯誤しているうちに全然別のADOXを使う方法にぶちあたり、それでできてしまいました。OLEDBは引き続きやってみますがとりあえずできましたので解決にします。ありがとうございました。
引用返信 編集キー/
■50372 / inTopicNo.9)  Re[4]: accessでcreate tableができません。
□投稿者/ 裕猫 (119回)-(2010/06/04(Fri) 14:38:44)
解決マーク付け忘れました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -