ASP.NTE中插入数据库的问题:一插就报错
本人在开发网站的时候,不知道怎么搞的,就是插不进数据库,一插就报错.....,
高手请指点一二,不胜感谢,
代码如下:
<%@ language="vb" debug="true" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim mycn As OleDbConnection
Dim mycd As OleDbCommand
Dim myrd As OleDbDataReader
Dim mysql As String
Dim dbname As String
Dim thename As String
Dim thepassword1 As String
Dim theemail As String
Dim thepassword2 As String
Sub check_click(ByVal sender As Object, ByVal e As EventArgs)
thename = tb_name.Text
thepassword1 = tb_pass1.Text
thepassword2 = tb_pass2.Text
theemail = tb_email.Text
dbname = Server.MapPath("webdata.mdb")
mycn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & dbname)
mycn.Open()
If (thename = "" Or thepassword1 = "" Or thepassword2 = "" Or theemail = "") Then
Label1.Text = "不能为空值"
Else
If (Page.IsValid()) Then
mysql = "select * from login_user where name='" + tb_name.Text.ToString + "'"
mycd = New OleDbCommand(mysql, mycn)
myrd = mycd.ExecuteReader()
Else
If (myrd.Read()) Then
Label1.Text = "用户名存在,请重输...."
mycn.Close()
Else
Label1.Text = "用户名不存在,可以使用"
mycn.Close()
End If
End If
End If
End Sub
Sub ok_click(ByVal sender As Object, ByVal e As EventArgs)
'定义四个变量,把文本的值赋给他们.
thename = tb_name.Text
thepassword1 = tb_pass1.Text
thepassword2 = tb_pass2.Text
theemail = tb_email.Text
dbname = Server.MapPath("webdata.mdb")
mycn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" &dbname)
mycn.Open()
If (thename = "" Or thepassword1 = "" Or thepassword2 = "" Or theemail = "") Then
Label1.Text = "不能为空值"
Else
mysql = "insert into user(name,password,email)"
mysql = mysql + " Values("
mysql = mysql + "'" + tb_name.Text.ToString + "',"
mysql = mysql + "'" + tb_pass1.Text.ToString + "',"
mysql = mysql + "'" + tb_email.Text.ToString + "')"
mycn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & dbname)
mycn.Open()
mycd = New OleDbCommand(mysql, mycn)
mycd.ExecuteNonQuery()
mycn.Close()
Response.Redirect("khlyb.aspx")
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>.....用户注册...........</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: center">
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<th colspan="4" scope="col" style="height: 34px">
</th>
</tr>
<tr>
<th colspan="4" scope="col" style="height: 34px">请输入您的登录信息(**以下信息必填**)</th>
</tr>
<tr>
<th colspan="4" scope="col" style="height: 19px"> </th>
</tr>
<tr>
<td style="width: 321px; height: 29px;"><div align="right">
<span style="font-family: 宋体">请输入您的用户名</span>:</div></td>
<td style="width: 18px; height: 29px;">
</td>
<td style="width: 203px; text-align: left; height: 29px;"><asp:TextBox ID="tb_name" runat="server" TextMode="SingleLine" Wrap="false" MaxLength="40" />
*</td>
<td width="281" style="text-align: left; height: 29px;">
<asp:Button ID="Button1" runat="server" Text="检查用户名" Height="20px" Width="79px" onclick=check_click/></td>
</tr>
<tr>
<td style="width: 321px; height: 28px"><div align="right">
<span style="font-family: 宋体">请设置登陆口令</span>:</div></td>
<td style="width: 18px; height: 28px">
</td>
<td style="width: 203px; height: 28px; text-align: left"><asp:TextBox ID="tb_pass1" runat="server" TextMode="Password" Wrap="false" MaxLength="40" />
**</td>
<td style="height: 28px">
<asp:Label ID="Label1" runat="server" Width="250px" Font-Bold="True" Font-Italic="False" Font-Names="黑体" Font-Size="11pt" Font-Underline="False" ForeColor="CadetBlue"></asp:Label> </td>
</tr>
<tr>
<td height="26" style="width: 321px"><div align="right">
<span style="font-family: 宋体">确认口令</span>:</div></td>
<td height="26" style="width: 18px">
</td>
<td height="28" style="width: 203px; text-align: left"><asp:TextBox ID="tb_pass2" runat="server" MaxLength="40" Wrap="false" TextMode="Password" />
**</td>
<td> </td>
</tr>
<tr>
<td style="width: 321px; height: 28px"><div align="right">
<span style="font-family: 宋体">输入你的邮箱</span>:</div></td>
<td style="width: 18px; height: 28px">
</td>
<td style="width: 203px; height: 28px; text-align: left"><asp:TextBox ID="tb_email" runat="server" MaxLength="40" TextMode="SingleLine" Wrap="false" />
*</td>
<td style="height: 28px; text-align: left">
<span style="font-size: 11pt">(此为您遗失密码时候的提示回答)</span></td>
</tr>
<tr>
<td style="width: 321px; height: 40px;"> </td>
<td style="width: 18px; height: 40px;">
</td>
<td style="width: 203px; height: 40px;">
<asp:Button ID="ok" runat="server" Text="确认" Width="41px" Height="21px" onclick=ok_click /></td>
<td style="height: 40px"> </td>
</tr>
</table>
</div>
</form>
</body>
</html>
问题点数:20、回复次数:14Top
1 楼feige2000()回复于 2006-12-01 13:53:50 得分 0
大哥大姐们,救救我吧,本人自学网站开发.Top
2 楼cpp2017(慕白兄)回复于 2006-12-01 13:55:06 得分 0
什么错?Top
3 楼sun_Ke(順便出來溜达溜达~~~~)回复于 2006-12-01 13:55:26 得分 0
你搞这么多的代码,谁有时间看啊
Top
4 楼sun_Ke(順便出來溜达溜达~~~~)回复于 2006-12-01 13:57:22 得分 0
给你提点建议
在.NET中不要把后台代码写到页面文件里
这样出错了也不好找,很烦的
最好事把页面文件和后台代码分开来写...Top
5 楼DeanMonica(夏天的叶子)回复于 2006-12-01 14:02:08 得分 0
webdata.mdb有没有asp.net的读写权限
你最好把错误信息贴出来,大家才能帮你分析问题所在,:)Top
6 楼feige2000()回复于 2006-12-01 14:29:53 得分 0
INSERT INTO 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
源错误: 行 75: mycd.ExecuteNonQuery()
也就是在插入数据的时候出现上面的问题.
Top
7 楼libinguest(上善若水)回复于 2006-12-01 14:32:56 得分 0
看你数据库的参数与外面的是否对应。Top
8 楼feige2000()回复于 2006-12-01 14:33:34 得分 0
有写的权限Top
9 楼dreamw(网卡)回复于 2006-12-01 14:39:24 得分 0
mysql = "insert into user(name,password,email)"
你的那个数据库表名不能叫user,这是SQL里的关键字..
或者你这样写
mysql = "insert into [user](name,password,email)"
加个括号吧[]Top
10 楼konye(逍遥无为)回复于 2006-12-01 14:41:16 得分 0
你把mysql整个字符串显示出来,,然后把那个SQL语句放到数据库里面去执行看看Top
11 楼hy_lihuan(我想早恋,可是已经晚了)回复于 2006-12-01 14:46:48 得分 0
你把程序运行生成的SQL语句放到数据库里面去执行,有错吗?
有错的话就是组装的sql有问题Top
12 楼feige2000()回复于 2006-12-01 14:55:30 得分 0
数据库是一样的,我开始的时候使用login_user,后来我又建立了一个user,两个数据库里面的字段是一样的Top
13 楼fcuandy(了此残生.)回复于 2006-12-01 14:58:34 得分 20
mysql = "insert into [user]([name],[password],email)"Top
14 楼feige2000()回复于 2006-12-01 15:07:27 得分 0
谢谢大家!!问题终于解决了 特别应该感谢: fcuandy(手中无剑,心中亦无)Top





