-3

自動インクリメント ID で人を検索したい(textbox and one button)。私はその中で and を使用datasetしました

Fill,Getdata --> configure

SQL ステートメント:

SELECT ID, FirstName, LastName, ContactNo, Address, Date, NameOfJob, OtherJob,
Impression, BackPage, NameOfPage, PaperSize, PrintingSize,
DesignRupees, JobRupees, Matter, BlackPlate, BlackPlateRupees, SinglePlate, 
SinglePlateRupees, MultiPlate, MultiPlateRupees, Platename, 
Lamination, Creasing, Binding, Other, Total, Receive, Due, LastRemaining
FROM bill WHERE  ID=@ID

その後、プログラムを実行すると、2 つのエラーが表示されます。

  1. 文字列から 10 進数に変換できません
  2. WindowsFormsApplication9.DataSet1TableAdapters.billTableAdapter.Fill(WindowsFormsApplication9.DataSet1.billDataTable, decimal) has some invalid argumentsこの行のエラーに最適なオーバーロードされたメソッドの一致

    this.billTableAdapter.Fill(this.DataSet1.bill, txt_search.Text);

4

2 に答える 2

0

したがって、エラーは次のとおりです。

cannot convert from string to decimal

WindowsFormsApplication9.DataSet1TableAdapters.billTableAdapter.Fill(WindowsFormsApplication9.DataSet1.billDataTable, decimal);

メソッドに入れようとしているものを見るとFill()

this.billTableAdapter.Fill(this.DataSet1.bill, txt_search.Text);

エラーが伝えているのは、文字列を 10 進数に変換できないということです。fill メソッドには 2 番目のパラメーターとして小数点が必要ですが、文字列 ( txt_search.Text) を指定しています。

最初に文字列を 10 進数に変換/解析してから、.Fill()この値を使用してメソッドを呼び出す必要があります。

decimal.Parse()と を参照してくださいdecimal.TryParse()

于 2012-06-29T06:27:46.607 に答える
0

2 番目の引数は である必要がありますが、値をdecimal渡しています。stringtxt_search.Text

したがって、次のように 10 進数にキャストできます。

this.billTableAdapter.Fill(this.DataSet1.bill, (decimal)txt_search.Text);

また

this.billTableAdapter.Fill(this.DataSet1.bill, decimal.Parse(txt_search.Text));
于 2012-06-29T06:28:46.607 に答える