| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1469 人关注过本帖
标题:数据库更新不了!
只看楼主 加入收藏
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:26 
数据库更新不了!
部分代码:
Sub Sure_Click(ByVal Sender As Object, ByVal E As EventArgs) Handles Sure.Click
        Dim StrCnn As String
        Dim Sql As String
        Dim theText As String
        Dim theObj As String
        Dim theFace As String
        Dim theFont As String
        Dim FacePic As String
        theText = T1.Text  '获取用户的发言信息
        theObj = drop.SelectedItem.Text  '获取用户所选择的聊天对象
        theFace = drop1.SelectedItem.Text  '获取用户所选择的表情
        theFont = drop2.SelectedItem.Value  '获取用户所选择的字体颜色
        FacePic = drop3.SelectedItem.Value  '获取用户所选择的贴图
        '连接数据库
        StrCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath("lts.mdb")
        Cnn = New OleDbConnection(StrCnn)
        Cnn.Open()
        '保存用户的发言信息,其中发言人通过Session变量username来获取
        Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username") & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')"
        Cmd = New OleDbCommand(Sql, Cnn)
        Cmd.ExecuteNonQuery()
        Cnn.Close()
        T1.Text = ""  '清空信息文本框,以便再次输入
    End Sub

错误信息:
字段 'content.Talker' 不能是零长度的字符串。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 字段 'content.Talker' 不能是零长度的字符串。

源错误:


行 71:         Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username") & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')"
行 72:         Cmd = New OleDbCommand(Sql, Cnn)
行 73:         Cmd.ExecuteNonQuery()
行 74:         Cnn.Close()
行 75:         T1.Text = ""  '清空信息文本框,以便再次输入
 
搜索更多相关主题的帖子: 数据库 
2010-06-21 23:39
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:5 
从错误信息上看,应该是你的content表的Talker字段不能为空,而你传入的值Session("username")应该是null或者"",你跟下程序吧。

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-06-22 09:20
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:0 
它说这句有错
行 73:         Cmd.ExecuteNonQuery()
2010-06-22 15:23
hyei1984
Rank: 2
等 级:论坛游民
帖 子:36
专家分:15
注 册:2007-3-26
收藏
得分:4 
        Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username") & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')"

改成
        Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username").ToString() & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')" 试试


2010-06-22 15:28
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用赤那在2010-6-22 15:23:45的发言:

它说这句有错
行 73:         Cmd.ExecuteNonQuery()
当然是这里错误,你写的SQL,到哪里执行?当然是去数据库执行的时候才会报错,难道你拼写一个字符串,就能报出错误?

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-06-22 15:39
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用hyei1984在2010-6-22 15:28:58的发言:

        Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username") & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')"

改成
        Sql = "insert into content(Talker,Toobj,Color,Content,FaceStr,FacePic) values('" & Session("username").ToString() & "','" & theObj & "','" & theFont & "','" & theText & "','" & theFace & "','" & FacePic & "')" 试试
你这么写有个好处,就是Session("username")为null的时候在拼字符串的时候就能报错

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-06-22 15:40
张丹
Rank: 2
等 级:论坛游民
帖 子:94
专家分:66
注 册:2010-6-7
收藏
得分:1 
1.看数据库是否连接上
2.session中是否有值
3.sql语句是否写好了

 theText = T1.Text  '获取用户的发言信息
保存用户的发言信息,其中发言人通过Session变量username来获取    '" & Session("username") & "'
我有点怀疑你将theText = T1.Text  和 Session("username") 怎么联系起来的,你用的时候用的是Session("username") ,赋值的时候是用theText = T1.Text 赋值的,你再看看



2010-06-22 15:44
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:0 
还是不行!
数据库能连接

2010-06-22 15:54
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:0 
'" & Session("username") & "'这里应该没有问题吧
2010-06-22 16:00
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
你用程序跟一下Session("username")的值是什么

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-06-22 16:01
快速回复:数据库更新不了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043313 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved