关于aspnet连接ACCESS的一些小结!


Posted on February 26, 2007


刚做这个网站的时候,因为考虑到用SQL数据库要另外加钱的,所以考虑了一下还是用ACCESS,网站没有什么复杂的逻辑,用ACCESS应该可以了(实践证明是正确的!)

一想到ASPNET如何连接ACCESS的时候,我一开始就想到了用集据集的方法,因为一开始学ASPNET的时候,就跟丁老题学过数据集的用法,而且以前在学JSP的时候,和EJB的有些内容相似,可能技术内核不一样,只是有点神似吧,呵,我还没有能够完全了解一门技术啊!!

呵,先在网上到了点素材,开始做了,日志,读书笔记,以及留言板,都做好了,写数据库用的是数据集的方法,一开始还算正常,后来发现了问题了,如果数据过长,只能写进一部分内容,很奇怪,想来想去找不出原因,“会不会是哪里没有配置?”我心里这么想。

问题一直没有解决,直到昨天才有了新的发现:数据(一般为string 类型)在传输的过程中,不能超过1024个汉字(应该是2048个字节),这一点,我测试过了,不加任何符号,只写汉字,确实只有1024个,1024个以后的就被截断了。

所以只能放弃这种方法了,改用using System.Data.OleDb;感觉上是比较传统的方法,和ASP有点象。

string strSql = "INSERT INTO blog ([blog_title], [blog_content], [blog_time]) VALUES (" + "'" + @title + "','" + @content + "','" + @time + "')";

利用这样的一条SQL语句,就可以实现数据的添加!

但问题还是不断出现!

上述的SQL语句,VALUES的值用的都是局部变量,所以用了上述写法,但是上述变量只要含有“'”(如jm's website),就会出面问题:

问题很显然:

INSERT INTO blog ([blog_title], [blog_content], [blog_time]) VALUES ('title','content',2002-2-2 12:20:20')

如果content换成jm's website,那strSql 就变成:

INSERT INTO blog ([blog_title], [blog_content], [blog_time]) VALUES ('title',jm's website,2002-2-2 12:20:20');

很显然jm's中的'破坏了ASPNET的翻译过程。出现错误

但总不见得让不出现“'”吧?哪怎么可以?

在网上又是找了好几个小时,最后看到转义字符的一些概念,加了一条replace语名:

string content1 = Request.Form["content"].ToString();
string content = content1.Replace("'", "''");

成功了!

这也算是学习的心得,所以写下来,欢迎大家一起来讨论,交流才能提高啊! 


标签:SQL

其它推荐日志:

Sun:Java+Vista没问题

c#读文件目录

庞大的java流处理

Activex 部件不能创建对象故障解决

AjaxControlToolKit之AutoCompleteExtender用法

c#读写xml文件的方法

(转)在网页上显示缩略图

把字符串时间转换为timestamp的一个方法(php)

介绍一个web2.0站点模板

PDF To Image Converter(PDF文件转图片格式)

如何用c#发邮件

收集一些JS识别域名跳转代码

无需插件,轻松实现FIREFOX后台打开标签

VirtualBox already exists in the media registry解决方案

ASP.NET 2.0中CSS失效解决方案

什么是AJAX?

什么是类序列化?

打到一个很有用的的显IP代码!分享一下!

细说HTML元素的ID和Name属性的区别

必须学会的几个网络测试命令

该学Java或.NET?(转)

访问IIS元数据库失败

Windows Vista资源管理器复制、移动、删除文件慢的7种不同的解决办法和几个现象

在ASP.NET中发邮件!

安装SQL Server 2005开发版时出现性能计数器要求安装错误

IE8引发VS2005/2008向导出错的解决方案

关于“System.NullReferenceException: 未将对象引用设置到对象的实例”问题原因

找到一个不错的blockquote样式

xp sp2 iis5.1 其他人不能访问本机网站!

AssemblyVersion的问题

Automation服务器不能创建对象的解决办法

WebOS:网络操作系统

网络中的8根细线

C#编码标准--编码习惯(转)

完美解决IE兼容模式问题

SyntaxHighlighter, a fully functional self-contained code syntax highlighter!

搜集几个免费ASP空间,不能保证其时效性,仅供参考实践用!

镜面屏VS非镜面屏

学习ajax-xmlhttp:open方法

php啊,addslashes和stripslashes,烦


Search
最新评论
推荐日志
微信扫一扫