我在使用ASP.NET+C#操作数据库遇到点问题,HELP

SnApnet 2003-09-12 09:13:52
在aspx页里放了几个TextBox
然后在.cs文件里写代码,目的是实现加入一条新记录
写入数据库代码如下:
================================================================================private void Write_Click(object sender, System.EventArgs e)
{
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\DataBase\\Gbook.mdb";
string insertStr = "Insert into Gbook (Title,Username,Sex,Email,Oicq,Homepage,HeartPic,HeadPic,Content,Uptime) Values ('"
+ title.Text + "','"
+ Username.Text + "','"
+ Sex.SelectedItem.Text + "','"
+ mail.Text + "','"
+ OICQ.Text + "','"
+ homepage.Text + "','"
+ Pic.SelectedItem.Value + "','"
+ Head.SelectedItem.Value + "','"
+ content.Text + "','"
+ DateTime.Now.ToString() + "')";
OleDbConnection conn = new OleDbConnection(conStr);
conn.Open();
OleDbCommand comm = new OleDbCommand(insertStr,conn);
comm.ExecuteNonQuery();
conn.Close();
Response.Redirect("Default.aspx");
}
================================================================================

其实添加记录正常,只是在content.Text添加比如“ ' ” 之类的东西,就会出错。写两个''正常,但是前台只显示了一个 ' ,单单只写一个 '的话,就会
提示 语法错误 (操作符丢失) 。
请问怎么解决,最好能详细说明,谢谢!
...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SnApnet 2003-09-12
  • 打赏
  • 举报
回复
感谢saucer(思归)
问题解决了。谢谢
jjcccc 2003-09-12
  • 打赏
  • 举报
回复
sql server 中的转义字符为',改成下面这样试试
string insertStr = "Insert into Gbook (Title,Username,Sex,Email,Oicq,Homepage,HeartPic,HeadPic,Content,Uptime) Values ('"
+ title.Text + "','"
+ Username.Text + "','"
+ Sex.SelectedItem.Text + "','"
+ mail.Text + "','"
+ OICQ.Text + "','"
+ homepage.Text + "','"
+ Pic.SelectedItem.Value + "','"
+ Head.SelectedItem.Value + "','"
+ content.Text.Replace("'","''") + "','"
+ DateTime.Now.ToString() + "')";
OleDbConnection conn = new OleDbConnection(conStr);
conn.Open();
OleDbCommand comm = new OleDbCommand(insertStr,conn);
comm.ExecuteNonQuery();
conn.Close();
Response.Redirect("Default.aspx");
}
zhongkeruanjian 2003-09-12
  • 打赏
  • 举报
回复
用\转义一下,试试
saucer 2003-09-12
  • 打赏
  • 举报
回复
sorry, replace comm.Paramters with comm.Parameters.
saucer 2003-09-12
  • 打赏
  • 举报
回复
that is classic SQL inject attack, either you have to filter the text or use a paramterized query

string insertStr = "Insert into Gbook (Title,Username,Sex,Email,Oicq,Homepage,HeartPic,HeadPic,Content,Uptime) Values (?,?,?,?,?,?,?,?,?,?)";

OleDbConnection conn = new OleDbConnection(conStr);
conn.Open();
OleDbCommand comm = new OleDbCommand(insertStr,conn);
comm.Paramters.Add("@Title",title.Text);
comm.Paramters.Add("@User",Username.Text);
comm.Paramters.Add("@Sex",Sex.SelectedItem.Text);
comm.Paramters.Add("@Email",mail.Text);
comm.Paramters.Add("@Oicq",OICQ.Text);
comm.Paramters.Add("@Homepage",homepage.Text );
comm.Paramters.Add("@HeartPic",Pic.SelectedItem.Value);
comm.Paramters.Add("@HeadPic",Head.SelectedItem.Value);
comm.Paramters.Add("@Content",content.Text);
comm.Paramters.Add("@Uptime",DateTime.Now.ToString());//comm.Paramters.Add("@Uptime",DateTime.Now); //>>

comm.ExecuteNonQuery();
conn.Close();
Response.Redirect("Default.aspx");

SnApnet 2003-09-12
  • 打赏
  • 举报
回复
up
环境要求:
MSSQL版:
Windows2000 + IIS5 + .NET Framework 2.0 + MS SQL Server 2000 或各更高版本
Access版:
Windows2000 + IIS5 + .NET Framework 2.0 + MDAC2.7 或各更高版本

xinpu网络商城具有如下特
1、使用ASP.Net(c#)、三层结构开发
2、自由选择模板,界面美观,皮肤设计灵活多变
3、在线支付:支付宝,网银在线,快钱,paypal
4、销售统计,图表分析
5、集成多种流量统计系统
6、多国语言,内置简体,繁体和英语
7、UTF-8编码,可用于全球的服务器
8、自动生成静态HTML页面
9、报价表商品价格一目了然
10、完善的运费公式化设置方式
11、商品可自定义扩展属性
12、商品可添加附带商品
13、一个商品可属于多个类别
14、商品有相关商品和相关图片功能
15、商品可设置最底起买量,库存和库存预警
16、商品可定制缺货处理功能
17、支持附件销售功能
18、自定义商品属性
19、支持无限级商品类别
20、支持会员组批发功能
21、自定义订单编号功能
22、前台可对商品进行评分和留言,管理员后台可管理
23、预付款功能
24、后台可批量修改信息
25、可批量添加商品
26、可设置多种级别的管理员权限
27、广告自定义功能,可灵活在页面上调用
28、销售排行
29、自定义高级搜索
30、支持在线备份数据库
31、缓存技术加快网页浏览速度
32、傻瓜后台,人性设置
33、扩展性好
34、ACCESS和SQL数据库互相转换


help.htm有操作手册
根目录下文件名与目录:
[.] Languages.aspx QuickCheckout.aspx
[..] LinkAdd.aspx Review.aspx
安装说明.txt Links.aspx Search.aspx
商城介绍.txt List.aspx ShoppingCart.aspx ListOther.aspx Show.aspx
Actions.aspx Login.aspx SoftIndex.aspx
AdminLogin.aspx Logout.aspx SoftLink.aspx
AJAX.aspx MemberCenter.aspx SoftList.aspx
AliPay.aspx MemberLostpass.aspx SoftShow.aspx
AlipayReceive.aspx MemberRegister.aspx SpecialProducts.aspx
BillReceive.aspx MyAdvancePayment.aspx templates.aspx
Bulletin.aspx MyFavorite.aspx TempTrans.aspx
Category.aspx MyInfo.aspx Test.aspx
ChangePW.aspx MyOrders.aspx WebForm1.aspx
Checkout.aspx New.aspx XpShopUpi.aspx
CheckoutSucc.aspx NewProducts.aspx PrecompiledApp.config
ChinaBankReceive.aspx News.aspx Web.config
CommendProducts.aspx NewsCat.aspx 批量上传模板.xls
CompanyInfo.aspx NewsDetail.aspx [Languages]
CustomPage.aspx NewsIndex.aspx [db]
Default.aspx NewsList.aspx [Inc]
DownloadList.aspx NewsShow.aspx [Images]
ErrorPage.aspx OrderFeedback.aspx [Template]
frmLogin.aspx OrderPrint.aspx [Modules]
frmSmallCart.aspx OrderReply.aspx [bin]
Guest.aspx PayOnlineReceive.aspx [Admin]
HelpIndex.aspx PollList.aspx [Upload]
HelpList.aspx PollView.aspx
HotProducts.aspx PopAD.aspx
image.aspx Price.aspx
2010/12/30 v1.2版 改掉程序中所有的select标签 项目结构说明: \ ……\App_Data 项目数据库文件 (ACCESS2003) ……\bin\ …………\AjaxPro.2.dll .NET调用AJAX类库 …………\App_Code.dll 功能类文件 …………\App_Web_ka4newz2.dll *.aspx.cs文件打包 ……\JS\ …………\jquery-1.4.4.min.js JQuery库 …………\Script 系统自定义JS文件 ……\Default.aspx 系统功能页面 ……\Help.txt 帮助文档 ……\web.config 配置文件 ……\PrecompiledApp.config 发布配置文件 系统使用说明: 一、系统启动后在“抓取网页路径” 输入要抓取网页的URL 以文本内默认格式输入 选择“网页编码格式” (如果不知道网页格式可以更换不同选择项),然后击“测试打开网页”。系统会 在页面右侧空白处显示页面源码,以及以小窗口形式显示要抓取的网页可视化界面。 二、在“列表定位标签”输入要抓取列表信息容器型标签。例如:DIV、UL、TABLE “筛选同类标签”作用是用来过滤页面上同类定位标签,然后击“测试列表定位” 三、“抓取信息标签”是指列表后页面中要制定抓取的信息容器型标签。(如果抓取整页信息请为空),然后 击“开始抓取列表内容”。 四、当抓取记录操作中出现抓取日志时。网页HTML字符串已经保存完毕。可是图片可能还在陆续保存。由于是WEB 形式所以无法得知何时抓取完毕,用户需长时间进程守候。 五、“获取抓取页面打包”是先前抓取的网页以及图片打包 六、项目DOWNLOADS中分HTML、IMAGES是保存抓取网页的信息 系统问题: 系统对网速要求很高,因为下载图片是多线程。 B/S模式程序响应可能超时而影响系统正常运行。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧