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

Posted

技术标签:

【中文标题】ASP.NET 3.5 C# 网站中的 Oledb 溢出错误【英文标题】:Oledb Overflow error in ASP.NET 3.5 C# Website 【发布时间】:2012-08-22 05:20:54 【问题描述】:

在将数据插入到我的访问数据库时,我遇到了一个奇怪的“溢出”错误。实际上它在本地运行良好,但在服务器上却不行,所以我认为这可能是操作系统特定的错误,因为我的本地系统是 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
            

将值传递给参数的变量都是字符串,并且在定义插入查询之前已被初始化和填充。

在数据库中,列和数据类型如下所述。

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】:

我认为你应该使用 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,抱歉..

【讨论】:

首先,我使用的是OleDb类而不是SQL,所以应该是OleDbCommand,其次,即使是OleDbCommand,我认为它和我的完全一样完成了。两者几乎没有区别。第三,您没有在任何地方包含 Connection,这是初始化新命令的必需参数。

以上是关于ASP.NET 3.5 C# 网站中的 Oledb 溢出错误的主要内容,如果未能解决你的问题,请参考以下文章

C# 3.5 ASP.net 文件 IO 问题,UnauthorizedAccessException 到网络共享文件

如何使用 C# 在 ASP.NET 3.5 中动态设置“application/ld+json”Schema.org 元数据

一个基于ASP.NET(C#)的ACCESS数据库操作类

VS2010 Chart控件Chart控件在ASP.NET网站中的应用示例详解(C#语言)

如何将 Openoffice calc excel 连接到 sql server 而不是 asp.net 中的 oledb excel 连接

如何使用 ASP.NET OLEDB 向数据库中添加一行?