none
Visual C#2017を使ったADO.NETについて RRS feed

  • 質問

  • Visual C#2017を使ったADO.NETでテーブルを

    CREATE TABLE [dbo].[TEXT] (
        [TextID] INT IDENTITY(1,1) NOT NULL,
        [Text]   NVARCHAR (80) NULL,
        CONSTRAINT [NUM7] PRIMARY KEY CLUSTERED ([TextID] ASC)
    );

    と作りボタンを押すと[Text]に文章を追加するプログラムを作りたいと思い

    cmd.CommandText = "INSERT INTO [dbo].[TEXT] (Text)VALUES(" +
                                   "'" + textBox1.Text + "')";

    にして実行したらオブジェクト参照がオブジェクトインスタンスに設定されていません。というエラーが表示され実行できません。

    なので解決方法を教えてください。



    • 編集済み aqwpue 2019年10月18日 14:31
    2019年10月18日 14:29

回答

すべての返信

  • SQL Server でしょうか?

    「ADO.NET のコード例」
    https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/ado-net-code-examples

    が参考になるかと思います。

    DbProviderFactories
    https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/dbproviderfactories

    ここも抑えておくといいかもしれません。

    • 回答としてマーク aqwpue 2019年10月20日 11:15
    2019年10月18日 17:38
  • > 実行したらオブジェクト参照がオブジェクトインスタンスに設定されていません。というエラーが表示され実行できません。

    そのエラーを再現できる必要最低限のコードをアップしてください。エラーを再現するのに余計な部分はどんどん削っていって、あくまで必要最低限な短いコードを作るようお願いします。そして、そのコードのどの行でエラーが出るのかを書いてください。

    2019年10月19日 0:30
  • プログラムをでバックなしで実行し[Text]に文章を追加するボタンを押すと 「実行したらオブジェクト参照がオブジェクトインスタンスに設定されていません。」というエラー警告が表示されます。

    なのでどこが間違っているかのエラーを再現できる必要最低限のコードはわかりません。

    プログラム内容 

    cn.ConnectionString = cnstr;
                cn.Open();

                cmd.Connection = cn;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "INSERT INTO [dbo].[TEXT] VALUES(" +
                                   "'" + textBox1.Text + "')";
                rd.Close();
                cn.Close();

    なので解決方法があれば教えてください


    • 編集済み aqwpue 2019年10月20日 2:04
    2019年10月19日 22:45
  • 説明不足ですいませんでした。

    使っているデータベースはSQL Serverです。

    2019年10月19日 22:50
  • cn=new SqlConnection();
    cmd=cn.CreateCommand();
    あたりが抜けてるのかと

    jzkey

    2019年10月21日 4:32