vb.net 求一SQL更新语句

benqlch 2009-09-27 02:28:07


str = " file:///" + Application.StartupPath + "\pic\" & "'kh '" & ".jpg"

Dim mycommand As OleDbCommand = New OleDbCommand("update ks set photo= " & str, cn)
mycommand.ExecuteNonQuery()
cn.Close()
mycommand.Dispose()
MsgBox("数据初始化成功!")

语法错误 (操作符丢失) 在查询表达式 'file:///F:\net\net\tyks\tyks\bin\Debug\pic\'考号'.jpg' 中。
...全文
102 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
结帖了?是不是那样的呢?
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
access快忘了,这个 as nvarchar(100)去掉也试试
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
                Str = " file:///" + Application.StartupPath + "\pic\"

Dim mycommand As OleDbCommand = New OleDbCommand("update tableName set photo= '" & Str & "'+CInt(kh as nvarchar(100))+'.jpg'", cn)
mycommand.ExecuteNonQuery()
cn.Close()
mycommand.Dispose()
MsgBox("数据初始化成功!")


换个这函数,试试看
benqlch 2009-09-27
  • 打赏
  • 举报
回复
我的是access
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
这里是sql语句你直接放在里面执行一下
可以看到效果,更新了表中数据
declare @t1 table(kh int ,  path nvarchar(200))

declare @aa nvarchar(10)
set @aa='kh'

insert into @t1 values(1,'')
insert into @t1 values(2,'')
insert into @t1 values(4,'')
insert into @t1 values(5,'')
insert into @t1 values(6,'')

select * from @t1--原数据
update @t1 set path = 'file//test/'+cast(kh as nvarchar(100))+'.jpg'
select * from @t1--更新后,新数据


代码只需要这么改就可以了

                Str = " file:///" + Application.StartupPath + "\pic\"

Dim mycommand As OleDbCommand = New OleDbCommand("update tableName set photo= '" & Str & "'+cast(kh as nvarchar(100))+'.jpg'", cn)
mycommand.ExecuteNonQuery()
cn.Close()
mycommand.Dispose()
MsgBox("数据初始化成功!")
izbox 2009-09-27
  • 打赏
  • 举报
回复

Create table #a(kh int,path nvarchar(2000))
insert into #a
select 1,null union all
select 2,null union all
select 3,null union all
select 4,null union all
select 5,null union all
select 6,null union all
select 7,null union all
select 8,null


declare @Str nvarchar(1000)
set @Str='file:///F:\tyks\bin\Debug\pic\'
Update #a
set path = @Str+cast(kh as nvarchar(100))+'.jpg'

select * from #a
benqlch 2009-09-27
  • 打赏
  • 举报
回复
可能我没说的清楚: Application.StartupPath =F:\tyks\bin\Debug

我有一数据库: kh(考号),path(图片路径)
kh path
1
2
3
4
5
6
7
8

修改成:


kh path
1 file:///F:\tyks\bin\Debug\pic\1.jpg
2 file:///F:\tyks\bin\Debug\pic\2.jpg
3 file:///F:\tyks\bin\Debug\pic\3.jpg
4 file:///F:\tyks\bin\Debug\pic\4.jpg
5 file:///F:\tyks\bin\Debug\pic\5.jpg
6 file:///F:\tyks\bin\Debug\pic\6.jpg
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
有'符号sql肯定不对了
update  ks set photo = 'file:///F:\net\net\tyks\tyks\bin\Debug\pic\'考号'.jpg

如果你拷贝过去到sql查询看看,错了吧,执行不过去的
去掉'
str = " file:///" + Application.StartupPath + "\pic\" & "kh.jpg"
benqlch 2009-09-27
  • 打赏
  • 举报
回复
请问!那要怎么修改呢!!!
izbox 2009-09-27
  • 打赏
  • 举报
回复
文件名本来就不能包含标点符号的!
benqlch 2009-09-27
  • 打赏
  • 举报
回复
数据库:kh(考号) path(照片路径)

通过编程更新path (当前文件夹\pic\考号.jpg)

str = " file:///" + Application.StartupPath + "\pic\" & "'考号'" & ".jpg"

考号这里要怎么写,可能是& "'考号'" & ".jpg"
这里错!(因为改成一固定值,就可以通告)
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
Dim mycommand As OleDbCommand = New OleDbCommand("update  ks set photo= '"&str&"'", cn)
SK_Aqi 2009-09-27
  • 打赏
  • 举报
回复
是sql语句有问题,打印出来看看什么问题?
izbox 2009-09-27
  • 打赏
  • 举报
回复

Dim mycommand As OleDbCommand =
New OleDbCommand(String.Format("update ks set photo='{0}'",str),cn)

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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