2015-04-17 41 views
-2

下面是代碼我試圖執行,但錯誤:類型不匹配的表達

string g = dateTimePicker1.Value.ToString("dd-MM-yyyy"); 
string h = dateTimePicker2.Value.ToString("dd-MM-yyyy"); 

//string sql2 = @"select Loanno,PName,Duedate,sum(Rec) as rec,sum(Loanamt) as amt from Due where Duedate between [@date1] and [@date2] group by PName order by Loanno asc"; 

string sql2 = @"select Due.Loanno,Due.PName,Due.Duedate,sum(Due.Rec) as rec,sum(Due.Loanamt) as amt from Due inner join Party_Det on Due.Loanno=Party_Det.Loanno where Due.Duedate between [@date1] and [@date2] group by Due.Loanno,Due.PName,Due.Duedate"; 

OleDbCommand cmd2 = new OleDbCommand(sql2, con); 
cmd2.Parameters.AddWithValue("@date1", g); 
cmd2.Parameters.AddWithValue("@date2", h); 
cmd2.ExecuteNonQuery(); 

DataTable dt=new DataTable(); 
OleDbDataAdapter da = new OleDbDataAdapter(cmd2); 
da.Fill(dt); 

dataGridView1.DataSource = dt; 
con.Close(); 
+0

沒有添加您的完整的錯誤消息 –

回答

1

試試這個

string sql2 = @"select Due.Loanno, Due.PName, Due.Duedate, sum(Due.Rec) as rec,sum(Due.Loanamt) as amt from Due inner join Party_Det on Due.Loanno=Party_Det.Loanno where Due.Duedate between @date1 and @date2 group by Due.Loanno,Due.PName,Due.Duedate"; 
OleDbCommand cmd2 = new OleDbCommand(sql2, con); 

cmd2.Parameters.AddWithValue("@date1", dateTimePicker1.Value.Date); 
cmd2.Parameters.AddWithValue("@date2", dateTimePicker2.Value.Date); 

cmd2.ExecuteNonQuery(); 
DataTable dt=new DataTable(); 
OleDbDataAdapter da = new OleDbDataAdapter(cmd2); 

da.Fill(dt); 
dataGridView1.DataSource = dt; 
con.Close();  

新增:爲什麼你需要Party_det表的連接?您沒有使用該表中的任何字段。確保兩個表中的Loanno列的數據類型相同。

+0

問題日期格式,但查詢PLZ幫助,但在查詢 –

+0

你需要上傳你的整個的錯誤消息 –

+0

System.Data.Oledb.OleDbException:類型不匹配的表達 –

相關問題