0

アクセス データベースにデータを挿入しているときに、奇妙な「オーバーフロー」エラーが発生します。実際にはローカルでは問題なく動作しますが、サーバー上では機能しないため、ローカル システムは 64 ビットの Windows 7 ですが、サーバーについては言えないため、OS 固有のエラーである可能性があります。しかし、それがOS固有の問題であっても、数値が挿入されて壊れているはずですが、データベースのデータ列はすべてテキスト、メモ、日時、および自動採番フィールドです。

コードは次のとおりです。

string cmdd = @"Insert into Alumni_tb (A_Name, Batch, Stream, Adm_No, Email, Address,     Profession, Contact_No, Comments, Date_Added, Last_Update_Date, Active) 
values (@A_Name,@Batch, @Stream, @Adm_No, @Email, @Address, @Profession,@Contact_No, @Comments, @Date_Added, @Last_Update_Date , @isActive)";
            OleDbCommand cmd = new OleDbCommand(cmdd, conn);
            cmd.Parameters.AddWithValue("@A_Name", aName);
            cmd.Parameters.AddWithValue("@Batch", Batch);
            cmd.Parameters.AddWithValue("@Adm_No", admno);
            cmd.Parameters.AddWithValue("@Stream", stream);
            cmd.Parameters.AddWithValue("@Email", Email);
            cmd.Parameters.AddWithValue("@Address", address);
            cmd.Parameters.AddWithValue("@Profession", prof);
            cmd.Parameters.AddWithValue("@Contact_No", contno);
            cmd.Parameters.AddWithValue("@Comments", comments);
            cmd.Parameters.AddWithValue("@Date_Added", dateAdded);
            cmd.Parameters.AddWithValue("@Last_Update_Date", lastUpdateDate);
            cmd.Parameters.AddWithValue("@isActive", true);
            conn.Open();
            int cnt = 0;
            cnt=cmd.ExecuteNonQuery();
            if (cnt > 0)
            {
                //Display Ok Message
                return;
            }
            else 
            {
                //Display Error Message
            }

params に値を渡す変数はすべて文字列であり、挿入クエリを定義する前に初期化および設定されています。

データベースでは、列とデータ型について以下に説明します。

A_Name is a Text;
Batch is Text;
Stream is Text;
Adm_No is Text;
Email is Text; 
Address is Memo;
Profession is Text;
Contact_no is Text;
Comments is Memo;
Date_added is DateTime;
Last_update_date is DateTime;
Active is Yes/No;

cmd.ExecuteNonQuery();Please help!!! で「Overflow」エラー メッセージしか表示されません。

4

1 に答える 1

0

SqlCommand を使用する必要があると思います。

 SqlCommand cmd = new SqlCommand(string cmdd = @"Insert into Alumni_tb (A_Name, Batch,     Stream, Adm_No, Email, Address,     Profession, Contact_No, Comments, Date_Added, Last_Update_Date, Active) values (@A_Name,@Batch, @Stream, @Adm_No, @Email, @Address, @Profession,@Contact_No, @Comments, @Date_Added, @Last_Update_Date , @isActive)

あなたが OleDbCommand を使っているのを見たことがありませんでした。申し訳ありません..

于 2012-08-22T05:37:28.363 に答える