2016-01-23 123 views
-1

我製作了一個關於使用C#鏈接到Access DB(學校)的航班的程序。
但是,在完成所有基礎知識之後,我想獲得一些額外的積分。錯誤:標準表達式中的數據類型不匹配

我的數據庫包含兩個表格:reizigers(乘客)和vluchten(航班)。所有的類和變量都應該被正確定義。

我的問題:我希望能夠搜索航班範圍某些之間成本

然而,在執行查詢,從而努力之後,它給人的錯誤:

Additional information: Data type mismatch in criteria expression.

在我的數據庫,成本kost,它只是一個整數(如240)。

有沒有人知道它可能是什麼?

repository wpf window, entry

+2

請將代碼作爲文本置於您的文章中。你不能指望人們重新打字,找出錯誤並幫助你。謝謝。 – Trevor

回答

0

KistMinKostMax是兩個整數,我想這也是數據表字段Kost,你的WHERE子句中使用,爲整數類型。

但是,您的查詢包含單引號之間的兩個變量,並將它們轉換爲字符串。數據庫不喜歡將包含數字值的整數字段與文本進行比較(如果此文本由數字組成)並且抱怨提到的錯誤。

一個簡單的修復方法是刪除兩個值的引號,這兩個值放在sql where條件並修復了syntax of the BETWEEN predicate。 (不知道實際上是語法生產什麼,可能對科斯特現場評估布爾結果,而不是你所期望的)

".... WHERE Kost BETWEEN " + KostMin + " AND " + KostMax; 

在您的環境(MS-Access中,使用整數)存在SQL注入不關心,但開始使用參數化查詢是一個很好的練習。

+0

嘿,現在我不再有任何錯誤,這很好。但是,當我按下按鈕似乎沒有發生, 我真的不知道什麼問題.. –

+0

呃哦,這是因爲BETWEEN的語法是錯誤的,讓我修復答案 – Steve

+0

Ahn?好吧,如果它能夠工作,那將會很不錯:) –

相關問題