Database 为什么记录未保存在Access DB表中(第二期)?需要指导吗

Database 为什么记录未保存在Access DB表中(第二期)?需要指导吗,database,ms-access,Database,Ms Access,现在我有了一个可以工作的SQL代码,它可以将记录插入我的数据库tablecreates runtime,代码如下 Dim cmd As New OleDbCommand("SELECT NewMember.ApplicantName, NewMember.ApplicationNo, NewMember.ProcessingFee, NewMember.IntroducerName, NewMember.IntroducerCode, NewMember.JoiningDate, NewCust

现在我有了一个可以工作的SQL代码,它可以将记录插入我的数据库tablecreates runtime,代码如下

Dim cmd As New OleDbCommand("SELECT NewMember.ApplicantName, NewMember.ApplicationNo, NewMember.ProcessingFee, NewMember.IntroducerName, NewMember.IntroducerCode, NewMember.JoiningDate, NewCustomer.ApplicationNo, NewCustomer.PlanName, NewCustomer.AccountNo, NewCustomer.InvestmentAmount, NewCustomer.ProcessingFees, NewCustomer.OpeningDate, Deposit.Date, Deposit.InvestmentAmount Into DDTable  FROM NewMember, NewCustomer, Deposit WHERE NewMember.JoiningDate = NewCustomer.OpeningDate AND NewCustomer.OpeningDate = Deposit.Date;", con)
但最近的问题是,当我使用DateTimePicker选择任何日期时,记录都不会被保存。但是代码没有显示任何错误!有什么想法,有什么帮助吗

@克里斯汀·斯佩克特

谢谢,但是Where子句在我第一次发布的代码中工作得很好,而它不工作的地方就在这里

Dim cmd As New OleDbCommand("SELECT NewMember.ApplicantName, (NewMember.ApplicationNo)As MemberApplicationNo, NewMember.ProcessingFee, NewMember.IntroducerName, NewMember.IntroducerCode, NewMember.JoiningDate, NewCustomer.ApplicationNo, NewCustomer.PlanName, NewCustomer.AccountNo, NewCustomer.InvestmentAmount, NewCustomer.ProcessingFees, NewCustomer.OpeningDate, Deposit.Date, (Deposit.InvestmentAmount) As Renewal Into DDTable FROM NewMember, NewCustomer, Deposit WHERE (NewMember.JoiningDate = #" & dtpDates.Text & "#)= (NewCustomer.OpeningDate = #" & dtpDates.Text & "#) And NewCustomer.OpeningDate = (Deposit.Date =#" & dtpDates.Text & "#);", con)
成功消息,但数据未保存在数据库代码中:

If (con.State = ConnectionState.Closed) Then con.Open()
Dim cmd As New OleDbCommand("SELECT NewMember.ApplicantName, (NewMember.ApplicationNo)As MemberApplicationNo, NewMember.ProcessingFee, NewMember.IntroducerName, NewMember.IntroducerCode, NewMember.JoiningDate, NewCustomer.ApplicationNo, NewCustomer.PlanName, NewCustomer.AccountNo, NewCustomer.InvestmentAmount, NewCustomer.ProcessingFees, NewCustomer.OpeningDate, Deposit.Date, (Deposit.InvestmentAmount) As Renewal Into DDTable FROM NewMember, NewCustomer, Deposit WHERE (NewMember.JoiningDate = #" & dtpDates.Text & "#)= (NewCustomer.OpeningDate = #" & dtpDates.Text & "#) And NewCustomer.OpeningDate = (Deposit.Date =#" & dtpDates.Text & "#);", con)
cmd.ExecuteNonQuery()
MsgBox("Saved Successfully! ", MsgBoxStyle.Information)
con.Close()

这是因为,我正在尝试获取results=DateTimePicker.value,其中未提及时间,默认值为YYYY-MM-DD 00:00:00.000。我是否需要使用any'>或如果查询运行时没有错误,但没有向表中插入任何内容,那么由于WHERE子句,它可能不会返回任何结果


尝试直接在Access查询编辑器中运行查询,而不使用Into DDTable部分,查看它是否返回任何结果。

您的查询没有显示任何使用外部参数来限制日期的情况。你们能展示那个语法吗?我的第二个代码给出了success消息,但记录被保存在数据库中了!好的,现在让我们看看将字符串和date.text连接在一起后SQL是什么样子。你问题的答案就在那里。@MoheshBhattacharjee:拉里是对的。同样,您可以尝试输出连接的字符串,省略Into DDTable部分,并尝试直接在Access中运行该部分。@Christian Specht:我已经这样做了,Access显示了数据1行,因为条件满足。
Dim cmd As New OleDbCommand("SELECT NewMember.ApplicantName, (NewMember.ApplicationNo)As MemberApplicationNo, NewMember.ProcessingFee, NewMember.IntroducerName, NewMember.IntroducerCode, NewMember.JoiningDate, NewCustomer.ApplicationNo, NewCustomer.PlanName, NewCustomer.AccountNo, NewCustomer.InvestmentAmount, NewCustomer.ProcessingFees, NewCustomer.OpeningDate, Deposit.Date, (Deposit.InvestmentAmount) As Renewal Into DDTable FROM NewMember, NewCustomer, Deposit WHERE NewMember.JoiningDate = NewCustomer.OpeningDate And NewCustomer.OpeningDate = Deposit.Date And Deposit.Date >= #" & A & "#", con)