问题描述
现在想用两个定时器,Timer1用于创建表,Timer2用于向表中添加数据,我想在晚上21:00向数据库中创建一个新表以当天日期作表名,并开始向表中添加数据,到第二天早上7:00停止,现在问题是:这个程序21点后每小时都创建一个表,想用在这段时间内判断表是否存在,但是过了0点后,day就加1到了下一天,这是该如何判断?请教这个问题怎么解决?PrivateSubTimer1_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.TickstrYear=System.DateTime.Now.Year.ToString()strMonth=System.DateTime.Now.Month.ToString()strDate=System.DateTime.Now.Day.ToString()strHour=System.DateTime.Now.Hour.ToString()theName="Table"+strYear+strMonth+strDate+strHourconn=NewSqlConnection(ConnectionString)IfstrHour>20OrstrHour<7Then'conn=NewSqlConnection(ConnectionString)Ifconn.State=ConnectionState.OpenThenconn.Close()EndIfconn.ConnectionString=ConnectionStringconn.Open()sql="CREATETABLE"+theName+""+"(myidNVARCHAR(50),"+"mynameNVARCHAR(50)NOTNull,myaddressNVARCHAR(50))"cmd=NewSqlCommand(sql,conn)Timer2.Enabled=TrueElseTimer2.Enabled=FalseIfconn.State=ConnectionState.OpenThenconn.Close()EndIfEndIfEndSub
解决方案
解决方案二:
你要添加一个表还是许多表?为什么不从SQL的作业入手做?
解决方案三:
另外在VB.NET中怎么判断数据库中的表是否存在?
解决方案四:
我觉得你这个东西用SQL的作业挺方便解决的~
解决方案五:
是要求每天创建一个表,因为在晚上21点工作一直到第二天6点停止,到晚上在自动工作。。。。每天不停运行、、不知道我说明白了吗?
解决方案六:
采集数据用的,采集时间100ms左右并写入数据库,还需要界面啊
解决方案七:
获取系统时间判断,>21&&<=23>=0&&<=6就可以分开两天的时间了还可以根据获取的时间来判断那一天。
解决方案八:
你试着打开这个表,如果出错就是不存在,反之存在,
解决方案九:
你试一下DimlDateTimeAsDateDimSqlAsStringlDateTime=System.DateTime.Now.ToString("HH:mm:ss")Me.Label1.Text=lDateTimeIflDateTime="13:39:00"ThenSql="CREATETABLE())"MsgBox(Sql)EndIf不过还是建议创建表用job来做,那样会更安全些
解决方案十:
最好是从服务器获取日期和时间SelectDateName(hour,getdate())获取当前小时Selectgetdate()获服当前日期Select*FromsysobjectsWhere[name]='表名'判断表是否存在if当前小时>20and当前小时<8thenif当前小时>=0ThenCreateTable(日期-1)elseCreateTable(日期)endifendifSubCreateTable(日期)dimmydrasnewsqldatareader.........Commandtext="Select*FromsysobjectsWhere[name]='表名'"ifmydr.hasrowsthen表已存在,不用创建else执行Sqlcommand创建表endifendsubPS:在家没环境....