请教sqlserver2000中字符串的处理??

[复制链接]
查看11 | 回复6 | 2006-5-14 01:01:26 | 显示全部楼层 |阅读模式
问题背景:我用c#写了一个前台,sql做后台。sql中建了一个表是包含Text类型字段的数据的,主要用来存储HTML代码的。首先通过复制、粘贴到一个文本框,利用文本框的Text属性写入sql中,以下是sql语句(其中有少量的c#语句不多):
UpdateCmd="DECLARE @ptrval varbinary(16)

SELECT @ptrval = textptr(Content)//Content是字段名

FROM ["+ShML.TabName+"]//shml.tabname是数据库名

where ID="+txt2.Text+"

UPDATETEXT ["+ShML.TabName+"].Content @ptrvalNULL 0 '"+rbxHtml.Text+"'";//rbxHtml.text是文本框中的内容
问题:我复制多数HTML代码都会出现一些如'_founder','宋体',等提示语法问题,还有javascrip中的定义如 var username 都会提示出错,
有什么办法可以使得只是单纯的写入字符,而不用理会什么变量定义啊,单引号啊之类的问题呢???希望懂得的人指教!比较急!先谢谢了!!
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
。。。。。。。。。。。。。。。昏倒。。。
虽然不懂C#,也打算学习。。但是任何语言都是一样。。
用replace函数 把 '置换为 '' 这样就可以了。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。C# 计划中。。。。。
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
因为你的语句是使用的是SQL内部定义的语法,所以对于一些SQL默认的标识符和内部使用的符号如单引号就会出现问题。你可以使用两个单引号去代替一个单引号,例如使用Replace(@sql, char(39), char(39)+char(39)),使用其他的符号代替--,以及替换通配符%等。可以使Replace进行替换。
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
非常感谢以上两位朋友的回复!!

恩,情况的确是这样的。发完帖子的那天晚上就用查询分析器发现了问题所在,是单引号的问题,在c#里用replace过滤一下,就像2楼的朋友说的那样,当然,3楼的朋友说的也是一样的。不过,在我选择的17个网页中,有1个网页的html代码输入时出现了错误,提示“xml错误”之类,搞的我莫名其妙,不过,还好,结果还是可以接受的,问题是什么我会继续搞清楚的。
c#我个人觉得学过面向对象概念就可以比较好上手,我是从java转过来的,呵呵……;对于数据库,我觉得基本上应用方面都要或多或少的涉及,是非常实用的技术。^_^
再次感谢两位朋友的回复,交流中进步!!哈……
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
多数人从.NET
转JAVA去了,还有
c#我个人觉得学过面向对象概念就可以比较好上手,我是从java转过来的?
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
楼上的朋友,你说很多人从.net转到java,是什么原因呢?
我7月份就毕业了,找工作很多都是要.net的,也许是地区需求不同吧。我说我是从java转过来的,其实我学java也只是有一段时间,不会很精,只是觉得c#会更便捷,开发起来会较方便,有MSDN和中文的开发环境也是优势之一吧。
还是菜鸟,有什么不对的地方不要见怪,呵呵!欢迎交流!
回复

使用道具 举报

千问 | 2006-5-14 01:01:26 | 显示全部楼层
其实你用sql语句去做这个工作是不明智的,很容易出现漏洞!.Net不是提供了数据插入的方法了吗?你为什么不直接用Parameters呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行