ASP.NET 3.5 C#网站中的Oledb溢出错误

时间:2012-08-22 05:20:54

标签: c# asp.net oledb

将数据插入访问数据库时出现奇怪的“溢出”错误。实际上它在本地工作正常,但不在服务器上,所以我认为它可能是一个特定于操作系统的错误,因为我的本地系统是一个64位的Windows 7,但不能说服务器。但即使它是一个特定于操作系统的问题,它应该已经分解了插入的数值,但我数据库中的数据列都是文本,备忘录和日期时间以及自动编号字段。

以下是代码:

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()中收到“溢出”错误消息;请帮助!!!

1 个答案:

答案 0 :(得分: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,抱歉..