一个VB.NET语句问?

时间:2022-09-21 14:00:07
请各位大侠帮帮忙:
如何在VB.NET用下列SQL语句子


use data
drop table ntnsp

select distinct p.dept,p.inputdate,p.itemcode,p.cnname,p.unit,p.comment,p.oldsp,
p.promotion,p.newsp,p.npp,p.lpp,p.newgm,p.reason,p.divhead,
d.date as dm,s.remark,none.non_ble,info.salestype as s_type,dsp.edate
into ntnsp
from p4nsp p

left join dm d on

p.dept+p.itemcode+p.unit=d.itemcode+d.unitcode

left join survey s on

p.dept+p.itemcode+p.unit=s.itemcode+s.unitcode and p.newsp>s.price

left join nonecomparable none on

p.dept+p.itemcode+p.unit=none.itemcode+none.unitcode and none.price>p.newsp

left join info on

p.dept+p.itemcode=info.item

left join dsp on

p.dept+p.itemcode+p.unit=dsp.dept+dsp.unitcode
update ntnsp
set npp=info.npp,lpp=info.l_pp
from ntpsp,info
where info.item=ntnsp.dept+ntnsp.itemcode

10 个解决方案

#1


如何在VB.NET用下列SQL语句子
写成存储过程再调用。

#2


同上,写成存储过程就可以实现了。

#3


是在SQL还是在VB.NET,能否给点代码.

#4


呵呵, 如果要写在项目中呢, 可以把这些代码写在一个资源文件里, 即在项目中添加文件, 比如CMD.sql, 然后把SQL语句写在它里面, 注意在"属性"里设置此文件的类型为     "嵌入的资源",        调用时用以下语句:

        Dim assem As System.Reflection.Assembly
        assem = System.Reflection.Assembly.GetExecutingAssembly

        Dim reader As System.IO.TextReader = New StreamReader(assem.GetManifestResourceStream("项目名.CMD.sql"), Encoding.Default, False)'注意这里的项目名为你项目的名字, 再注意这里区分大小写

        Dim ExeSQL As String
        ExeSQL = reader.ReadToEnd '读取SQL文件

'以下用正常方法执行查询即可, 比如conn.GetDataSet(EXESQL)

ps:如果有很多SQL操作都需要用到此方法, 建议将以上代码写到一个类里

#5


Dim sr As StreamReader=New StreamReader("e:\\tmp.txt", System.Text.Encoding.Default)
Dim str As String = sr.ReadToEnd()
sr.Close()
是不是指定文件也可以呀.

#6


在程序调用Sql,一般都是只调用Sql的存储过程。很少直接写Sql语言。

#7


指定文件也可以的, 但是嵌入的资源文件不会被人看到.

____________________________________________________

大多数时候是应该用存储过程的, 但是有些时候必须将一条或者多条很长的SQL放在程序集里也是有的, 比如: 要开发一个应用, 可对任意的数据库执行特定的SQL语句, 比如建立固定结构的表和存储过程等.

再次, 不是所有的情况都适合用存储过程, 存储过程适合数据处理逻辑复杂的情况, 复杂的业务逻辑应该在程序中体现, 当然, 不是指的嵌入的资源这种情况.

#8


怎样嵌入资源文件?

#9


拜托,不要写这么复杂好不好!
常规方法,在SQL中写个存储过程,在程序中调用即可。
程序与数据分离。

#10


怎样嵌入资源文件?

______________________
已经说过了

#1


如何在VB.NET用下列SQL语句子
写成存储过程再调用。

#2


同上,写成存储过程就可以实现了。

#3


是在SQL还是在VB.NET,能否给点代码.

#4


呵呵, 如果要写在项目中呢, 可以把这些代码写在一个资源文件里, 即在项目中添加文件, 比如CMD.sql, 然后把SQL语句写在它里面, 注意在"属性"里设置此文件的类型为     "嵌入的资源",        调用时用以下语句:

        Dim assem As System.Reflection.Assembly
        assem = System.Reflection.Assembly.GetExecutingAssembly

        Dim reader As System.IO.TextReader = New StreamReader(assem.GetManifestResourceStream("项目名.CMD.sql"), Encoding.Default, False)'注意这里的项目名为你项目的名字, 再注意这里区分大小写

        Dim ExeSQL As String
        ExeSQL = reader.ReadToEnd '读取SQL文件

'以下用正常方法执行查询即可, 比如conn.GetDataSet(EXESQL)

ps:如果有很多SQL操作都需要用到此方法, 建议将以上代码写到一个类里

#5


Dim sr As StreamReader=New StreamReader("e:\\tmp.txt", System.Text.Encoding.Default)
Dim str As String = sr.ReadToEnd()
sr.Close()
是不是指定文件也可以呀.

#6


在程序调用Sql,一般都是只调用Sql的存储过程。很少直接写Sql语言。

#7


指定文件也可以的, 但是嵌入的资源文件不会被人看到.

____________________________________________________

大多数时候是应该用存储过程的, 但是有些时候必须将一条或者多条很长的SQL放在程序集里也是有的, 比如: 要开发一个应用, 可对任意的数据库执行特定的SQL语句, 比如建立固定结构的表和存储过程等.

再次, 不是所有的情况都适合用存储过程, 存储过程适合数据处理逻辑复杂的情况, 复杂的业务逻辑应该在程序中体现, 当然, 不是指的嵌入的资源这种情况.

#8


怎样嵌入资源文件?

#9


拜托,不要写这么复杂好不好!
常规方法,在SQL中写个存储过程,在程序中调用即可。
程序与数据分离。

#10


怎样嵌入资源文件?

______________________
已经说过了