您的位置:程序门 -> .net技术 -> vb.net



求助 我下面的代码问题是:可以连接到局域网内数据库,但是怎么不能向数据库添加记录,运行是也没有任何提示,请大侠帮帮我,我一定给分


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求助 我下面的代码问题是:可以连接到局域网内数据库,但是怎么不能向数据库添加记录,运行是也没有任何提示,请大侠帮帮我,我一定给分[已结贴,结贴人:zxwtg2000]
发表于:2007-06-29 09:45:40 楼主
dim   strconnect   as   string   =   "data   source=server;connect   timeout=100;initial   catalog=评估业务管理;user   id=;password=; "
                sqlconnection1   =   new   system.data.sqlclient.sqlconnection(strconnect)
                sqlconnection1.open()
                dim   sqlstr   as   string   =   "insert   into   [评估业务管理   ].[dbo].[立项表]   ([项目名称]   ,[项目编号])values( "   +   textbox1.text   +   " ', ' "   +   textbox2.text   +   " ') "
                'dim   sqlstr   as   string   =   "insert   into   立项表(项目名称,项目编号)   value   ( ' "   +   textbox1.text   +   " ', ' "   +   textbox2.text   +   " ') "
                dim   cmd   as   new   sqlcommand
                cmd   =   new   sqlcommand(sqlstr,   sqlconnection1)
                try
                        cmd.EXECutenonquery()
                catch   ex   as   exception
                        console.writeline(ex.message)
                end   try
                msgbox( "记录添加完成 ")
                sqlconnection1.close()
发表于:2007-06-29 09:49:381楼 得分:10
楼主的问题没有遇到过阿。帮顶下,
可能是数据库的权限开的不够吗?
发表于:2007-06-29 11:50:592楼 得分:10
你先把
try
      cmd.EXECutenonquery()
catch   ex   as   exception
      console.writeline(ex.message)
end   try
变成
cmd.EXECutenonquery()
看看会不会出什么提示
发表于:2007-06-29 16:07:133楼 得分:0
会提示“cmd.EXECutenonquery()”有语法错误。
发表于:2007-06-29 16:08:434楼 得分:0
有哪位大哥帮一下帮吧,已经折腾好几天啦,不知道问题出在哪里?
发表于:2007-06-29 16:37:385楼 得分:30
dim   sqlstr   as   string   =   "insert   into   [评估业务管理   ].[dbo].[立项表]   ([项目名称]   ,[项目编号])values( "   +   textbox1.text   +   " ', ' "   +   textbox2.text   +   " ') "
这一句语法有误,应该为:
dim   sqlstr   as   string   =   "insert   into   [评估业务管理   ].[dbo].[立项表]   ([项目名称]   ,[项目编号])values( ' "   +   textbox1.text   +   " ', ' "   +   textbox2.text   +   " ') "
看看行不行?
发表于:2007-06-29 17:23:236楼 得分:20
1.参考一下我的连接字符串:

      private   function   initconnection()   as   boolean
            myclass.close()
            try
                  _sqlconn   =   new   sqlclient.sqlconnection
                  _sqlconn.connectionstring   =   "server=10.170.1.112;database=mydatabase;uid=kgb;pwd=kgbkgb;connect   timeout=5 "
                  _sqlconn.open()
                  _state   =   connectionstate.open
                  return   true
            catch   e   as   exception
                  _errmsg   =   e.message
                  myclass.close()
                  return   false
            end   try
      end   function

2.另外参考看看调用方法
                  dim   blnrtn   as   boolean   =   false
                  dim   sqlcmd   as   new   sqlclient.sqlcommand
                  sqlcmd.connection   =   _sqlconn
                  sqlcmd.commandtext   =   "这里写你的sql语句,内部引号要用单引号 "
                  try
                        sqlcmd.EXECutenonquery()
                        blnrtn   =   true
                  catch   ex   as   exception
                        _errmsg   =   ex.message
                        blnrtn   =   false
                  finally
                        sqlcmd.dispose()
                        sqlcmd   =   nothing
                  end   try

发表于:2007-06-29 18:21:477楼 得分:30
values( "   +   textbox1.text   +   " '
少了个单引号吧?
----------------------------------------------------------
题外话:楼主厉害,居然没信誉值,而且等级也看不到.标记下.
发表于:2007-06-30 09:34:458楼 得分:0
不推荐这样做,应该用sqlparameter来传递参数。这样不容易出错!
发表于:2007-06-30 12:23:359楼 得分:0
bitcoffee指出的是一个错误,如果还不行的话看一下你设计的对应字节长度,超出字节长度也会报错。其他还没看出来目前。
发表于:2007-06-30 13:18:0910楼 得分:0
应该是少了个单引号,超出字段长度的错误是 "将截断二进制字符串 "
发表于:2007-06-30 13:43:2411楼 得分:0
不是链接支付串写错了,就是sql语句组合错了,看用sqlserver的事件查看器能不能截获到执行的sql语句看看。
发表于:2007-07-02 08:43:3712楼 得分:0
我已经解决啦,就是少了单引号,谢谢!!


快速检索

最新资讯
热门点击