求教VB.netAccess数据库输入输出的问题

问题描述

【原数据格式】2000-01-01-00.00.00.000000滨德鲁冀2015-05-04-07.30.43.000000高密货五616.000000000000000000010039401001669200384870065432000-01-01-00.00.00.000000滨德鲁冀2015-05-30-09.23.35.000000青岛货五651.50000000000000000001004298501707970301232000-01-01-00.00.00.000000滨德鲁冀2015-06-01-00.07.27.000000章丘货二218.0000000000000000000100491620130842000-01-01-00.00.00.000000滨德鲁冀2015-05-24-18.56.30.000000淄博货五517.70000000000000000001005391500717850051312000-01-01-00.00.00.000000滨德鲁冀2015-05-28-04.27.29.000000周村货二217.700000000000000000010053992012301【SRSallStr=SRS_Replace(SRSallStr)'将字符替换为标准格式】处理结束后2000-01-01-00.00.00.000000|滨德鲁冀|2015-05-04-07.30.43.000000|高密|货五|6|16.0000000000000000000|1003940100166920038487006543|2000-01-01-00.00.00.000000|滨德鲁冀|2015-05-30-09.23.35.000000|青岛|货五|6|51.5000000000000000000|100429850170797030123|2000-01-01-00.00.00.000000|滨德鲁冀|2015-06-01-00.07.27.000000|章丘|货二|2|18.0000000000000000000|10049162013084|2000-01-01-00.00.00.000000|滨德鲁冀|2015-05-24-18.56.30.000000|淄博|货五|5|17.7000000000000000000|100539150071785005131|2000-01-01-00.00.00.000000|滨德鲁冀|2015-05-28-04.27.29.000000|周村|货二|2|17.7000000000000000000|10053992012301|2000-01-01-00.00.00.000000|滨德鲁冀|2015-05-28-03.55.19.000000|潍坊西|货二|2|18.0000000000000000000|10056052012395|【问题】MyCommandStr="InsertINTOOD货车(车牌号,入口时间,入口站,出口时间,出口站,车辆类型,轴组系数,总重量,分轴重)Values("&_CStr(("鲁"&LineLeep))&","&SRSDate(0)&","&SRSDate(1)&","&_SRSDate(2)&","&SRSDate(3)&","&_SRSDate(4)&","&SRSDate(5)&","&SRSDate(6)&","&SRSDate(7)&")"MyCommandStr但凡出现汉字、英文字母、标点符号均报错。若将其改成下属全数字格式进行试运行操作,则不会出现上述问题:MyCommandStr="InsertINTOOD货车(车牌号,入口时间,入口站,出口时间,出口站,车辆类型,轴组系数,总重量,分轴重)Values("&_CStr((LineLeep))&","&(Microsoft.VisualBasic.Left((SRSDate(0)),13))&","&(1)&","&_(Microsoft.VisualBasic.Left((SRSDate(2)),13))&","&(3)&","&_(4)&","&SRSDate(5)&","&SRSDate(6)&","&SRSDate(7)&")"【附源代码】'创建Access数据库中Tables表单PublicSubSRS_OpAccTables(ByValMyAccFileNameAsString,ByValXmIniFileAsString)CallSRS_File()'关闭所有打开的文件夹,并释放内存DimMyMdbNameAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&MyAccFileName'定义项目文件命令字符串'连接当前Access数据库DimMyConnectionAsOleDbConnectionDimMyCommandAsOleDbCommand'1.连接数据库MyConnection=NewOleDbConnection(MyMdbName)MyConnection.Open()'2.添加表记录MyCommand=NewOleDbCommand("CreateTableOD货车(车牌号text,入口时间string,入口站text,出口时间string,出口站text,车辆类型text,轴组系数string,总重量string,分轴重string)",MyConnection)MyCommand.ExecuteNonQuery()'关闭当前Access数据库MyConnection.Close()CallSRS_File()'关闭所有打开的文件夹,并释放内存EndSub'将大卡车数据读入ACCESS数据库文件PublicSubSRSAcc_DakaFile(ByValXmFileNameAsString,ByValOD_FileNameAsString)CallSRS_File()'关闭所有打开的文件夹,并释放内存DimSRSallStrAsString=NothingDimSRSDate()AsStringDimLineLeepAsInteger=0'连接该Access数据库DimMyConnectionAsOleDbConnectionDimMyCommandAsOleDbCommandDimMyMdbNameAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&XmFileName'定义项目文件命令字符串MyConnection=NewOleDbConnection(MyMdbName)MyConnection.Open()'打开连接'删除现有数据DimMdbDelStrAsString="DELETEFROMOD货车"MyCommand=NewOleDbCommand(MdbDelStr,MyConnection)MyCommand.ExecuteNonQuery()'关闭连接DimMyCommandStrAsString=Nothing'开始读入OD数据信息XmFileName=A主界面.TextBox1.Text'定义工程项目名称DimXmIniFileAsString=A主界面.TextBox2.Text'定义工程项目名称FileOpen(1,OD_FileName,OpenMode.Input)'在文件非空的情况逐行读入文件内容WhileNotEOF(1)SRSallStr=LineInput(1)'逐行读入文本信息IfSRSallStr=""OrSRSallStr=NothingOrSRSallStr=PenterThenGoToNext_BElseSRSallStr=SRS_Replace(SRSallStr)'将字符替换为标准格式IfInStr(SRSallStr,"入口站")>0ThenGoToNext_AElseSRSDate=Split(SRSallStr,"|")'将字符串赋值给字符函数MyCommandStr="InsertINTOOD货车(车牌号,入口时间,入口站,出口时间,出口站,车辆类型,轴组系数,总重量,分轴重)Values("&_CStr(("鲁"&LineLeep))&","&(Microsoft.VisualBasic.Left((SRSDate(0)),13))&","&SRSDate(1)&","&_(Microsoft.VisualBasic.Left((SRSDate(2)),13))&","&SRSDate(3)&","&_SRSDate(4)&","&SRSDate(5)&","&SRSDate(6)&","&SRSDate(7)&")"MyCommand=NewOleDbCommand(MyCommandStr,MyConnection)MyCommand.ExecuteNonQuery()MyCommandStr=NothingLineLeep=LineLeep+1EndIfNext_A:EndIfNext_B:EndWhileLineLeep=LineLeep+1FileClose(1)FileClose(2)MyConnection.Close()'关闭数据库INIWrite(XmIniFileName,"交通量","OD货车",LineLeep)CallSRS_File()'关闭所有打开的文件夹,并释放内存MsgBox("TellUthesuccessfulofOpenningJiaotong!",MsgBoxStyle.OkOnly,"Congratulation!")EndSub

解决方案

解决方案二:
Access提交sql语句,字符串要用单引号括起来,日期要用#号括起来。
解决方案三:
楼上正解。不过不建议用拼接字符串的形式来执行sql

时间: 2024-09-02 02:38:55

求教VB.netAccess数据库输入输出的问题的相关文章

VB.NET数据库编程中的图形处理

编程|数据|数据库|图形 把图形文件名存入数据库中,这是VB.NET数据库编程中处理图形的一种简单有效的方法.本文就介绍如何在VB.NET中使用这种方法来设计Windows和Web图形据库程序. 关键词:VB.NET,数据库,图形,Windows程序,Web程序. 随着多媒体技术的发展,图形数据库在实际应用中已经越来越广泛了.在VB.NET数据库编程中处理图形的方法之一就是把图形作为数据库的一个字段存放到数据库中:第二个方法就是把图形的文件名作为一个字段保存到数据库中,而一张张图片则作为独立的文

vb.net 数据库 从txt文件中提取数据显示在数据库上

问题描述 vb.net 数据库 从txt文件中提取数据显示在数据库上 哪位大神帮我写个简单代码,从txt文件中提取数据,然后显示在数据库中,并且修改之后又可以保存在txt中,可以一起商量写.会有相当酬劳.联系我qq1184218831 解决方案 File.ReadAllLines(你的文本文件) 这样就可以读取到数组中 然后用Split分割列. 解决方案二: 文本中的数据不规则,是通过先查找,做成数组,在显示到数据里,如果你会做,我能加你qq,咨询你吗? 解决方案三: 用正则表达式去过滤.

VB.Net数据库某列自动计算

问题描述 大家好,请问怎么在VS的界面里面让SQL数据库的某列设成自动计算?例如说C=A+B,当A和B有数据的时候,C自动变成A+B可以在VB的数据库里面设置吗?我不想用connection.string的方式.Access数据库里面是可以的,但是SQL的我不知道.谢谢! 解决方案 解决方案二:一样吧insertintotable(c)values(a+b)要是以前的数据也要算就读取for循环下解决方案三:如果一定要这么做请使用触发器但是你这么做违反了元数据规则,C列是计算列压根不需要存在.其实

ora-小白求教,现在数据库起不来了,ORA-00354: 损坏重做日志块头部 ,求具体解决方法

问题描述 小白求教,现在数据库起不来了,ORA-00354: 损坏重做日志块头部 ,求具体解决方法 我看有个教程说 7.数据库被打开后,马上执行一个full export 8.shutdown数据库,去掉_all_resetlogs_corrupt参数 9.重建库 10.import并完成恢复 11.建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE; 这个不知道要如何操作?

select-SQL新手求教一个关于数据库的问题,着急!在线等!各位大牛们,感激不尽!

问题描述 SQL新手求教一个关于数据库的问题,着急!在线等!各位大牛们,感激不尽! 实习生,TeamLeader给了那么一个数据库题目: 给了如下两张独立的表: Person Orders 要求从这两张表中选出以下结果: ItemCount是购买的总数! 求救!在线等! 解决方案 select t.Id_p,t.LastName,COUNT(OrderNo) as ItemCount from ( select t1.OrderNo,ISNULL(t1.Id_p,t2.Id_p) as Id_p

安装-求教 vb怎么调用opengl啊?

问题描述 求教 vb怎么调用opengl啊? 下载了opengl提供的都是 c++的安装方法 支持vb呢 安装方式和vb 一样么 解决方案 OpenGL 调用部分 解决方案二: 你可以在百度上找一下,看有没有工具箱直接调用的 解决方案三: 你可以在百度上找一下,看有没有工具箱直接调用的

VB+SQL数据库管理系统中,如何在无数据源的情况下执行SQL

数据|数据库|数据源|执行 一般的数据库系统编程教程都是在开始编程的时候创建数据库,并在系统中生成用户数据源.系统数据源和文件数据院,在集成开发环境中,通过数据源连接到数据库.那么,如何在没有数据源的情况下,进行编程.生成应用程序要操纵的数据库以及表呢?(如:应用程序在安装完毕后,第一次启动时生成相应的数据库). 方法:在应用程序的ADO对象的连接字符串中指定DBMS的合法用户名和密码,并指定数据库驱动程序及要连接到目标主机. 如:连接到本机的SQL SERVER 假设 用户名为 SA  密码为

消息队列在VB.NET数据库开发中的应用

数据|数据库 我们先简单的了解一下什么是消息队列(MSMQ)?消息队列是 Windows 2000(NT也有MSMQ,WIN95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于创建分布式.松散连接通讯应用程序的工具.这些应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯.消息队列分为用户创建队列和系统队列,用户队列分为: · "公共队列"在整个可传递消息的"消息队列"网络中复制并传输,并且有可能由网络连接的所有站点

vb.net数据库填充列表

问题描述 这是asp.net下数据库填充列表的例子for(inti=0;i<Ds.Tables["adminlist"].Rows.Count;i++){TableRowtr=newTableRow();TableCelltd1=newTableCell();TableCelltd2=newTableCell();TableCelltd3=newTableCell();TableCelltd4=newTableCell();TableCelltd5=newTableCell();