ms访问数据库中存储的日期不正确(即使我正在保存12-03-2017,也就像01-07-1894 00:00:00) [英] Incorrect date is storing in ms access db.(something like 01-07-1894 00:00:00 even when I am saving 12-03-2017)

查看:109
本文介绍了ms访问数据库中存储的日期不正确(即使我正在保存12-03-2017,也就像01-07-1894 00:00:00)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发基于窗口的应用程序通过vb.net但每次我在访问ms db中保存日期,它保存日期,如01-07-1894 00:00:00类型,即使我在保存12- 03-2017来自日期时间选择器...

我尝试选择不同的日期,每次我得到的日期都存储在数据库中,如** - ** - 1894

我重新设计了表格控件,重新安装的软件仍然是我不走运..

请有人帮助我...... !!

先谢谢...... .... !!



我尝试过:



尝试

Dim ds作为新数据集()

cn =新OleDbConnection(str)

cn.Open()

cmd =新OleDbCommand(select * from cus_reg_table,cn)

Dim da As New OleDbDataAdapter(cmd)

cmd =新OleDbCommand(插入cus_reg_table( cid,cdate,cname,caddr,cmob)values(+ cnumLabel.Tex t +,+ DateTimePicker1.Text +,'+ cnameTextBox.Text +','+ addressTextBox.Text +',+ cmobnoTextBox.Text +),cn)

cmd.ExecuteNonQuery()

MsgBox(记录添加成功.....)

cn.Close()

Catch ex as Exception

MsgBox(ex.Message.ToString)

结束尝试

I am Developing Window Based Application Through vb.net but Each Time i am saving the date in access ms db,it is saving the date like 01-07-1894 00:00:00 type even When I am saving 12-03-2017 from Date Time Picker...
I tried selecting different dates and each time i am getting the date been stored in db like "**-**-1894"
I redesigned form controls,reinstalled software's still i am unlucky..
Please somebody Help Me...!!
Thanks in Advance..........!!

What I have tried:

Try
Dim ds As New DataSet()
cn = New OleDbConnection(str)
cn.Open()
cmd = New OleDbCommand("select * from cus_reg_table", cn)
Dim da As New OleDbDataAdapter(cmd)
cmd = New OleDbCommand("insert into cus_reg_table(cid,cdate,cname,caddr,cmob) values(" + cnumLabel.Text + "," + DateTimePicker1.Text + ",'" + cnameTextBox.Text + "','" + addressTextBox.Text + "'," + cmobnoTextBox.Text + ") ", cn)
cmd.ExecuteNonQuery()
MsgBox("Record added successfully.....")
cn.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try

推荐答案

停止这样做:永远不会连接字符串以形成SQL命令,因为它会导致这样的问题,并使您对SQL注入完全开放,这可能会损坏或破坏您的数据库。始终使用参数化查询。



更改您的代码:

Stop doing it like that: never concatenate strings to form an SQL command as it both causes problems like this, and leaves you wide open to SQL Injection, which can damage or destroy your database. Always use Parameterised queries.

Change your code:
cmd = New OleDbCommand("INSERT INTO cus_reg_table (cid,cdate,cname,caddr,cmob) VALUES (@CID, @CDT, @CNM, @CAD, @CMO)"
cmd.Parameters.AddWithValue("CID", cnumLabel.Text)
cmd.Parameters.AddWithValue("CDT", DateTimePicker1.Value)
cmd.Parameters.AddWithValue("CNM", cnameTextBox.Text)
cmd.Parameters.AddWithValue("CAD", addressTextBox.Text)
cmd.Parameters.AddWithValue("CMO", cmobnoTextBox.Text)
cmd.ExecuteNonQuery()





同时解决问题的可能性很小。



The chances are that will fix your problem at the same time.


这篇关于ms访问数据库中存储的日期不正确(即使我正在保存12-03-2017,也就像01-07-1894 00:00:00)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆