DOBON.NETプログラミング掲示板過去ログ
ADO.NETにて数値のパラメータ受け渡しが出来ない
題名: ADO.NETにて数値のパラメータ受け渡しが出来ない
著者: js
日時: 2004/03/03 16:45:32
ID: 2840
この記事の返信元:
(なし)
この記事への返信:
[2842]
Re[1]: ADO.NETにて数値のパラメータ受け渡しが出来ない(自己レス)
js
2004/03/03 18:02:28
[解決]
ツリーを表示
環境/言語:[.NET Framework1.1 C#]
分類:[.NET]
こんにちわ。
ADO.NETにてACCESS2000のMDBを更新したいのですがOleDbCommandにパラメータを渡し
INSERT文を実行しようと思うのですがパラメータが数値だとエラーになってしまいます。どのようにすれば数値のパラメータを受入れる事が出来るのでしょうか?
よろしくお願いいたします。
なおパラメータに代入する値は別フォームより取得しています。
private void button3_Click(object sender, System.EventArgs e)
{
//追加更新フォームをモーダルで開く
Form2 F = new Form2();
F.ShowDialog(this);
string SYO_CODE = F.SYO_CODE.Text;
string SYO_NAME = F.SYO_NAME.Text;
string SYO_KIKAKU = F.SYO_KIKAKU.Text;
//*数値型の部分(単価)
int SYO_COST = int.Parse(F.SYO_COST.Text);
string SQL="";
string strConn;
F.Dispose();
if(DATA_SOURCE.Text != String.Empty)
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;";
strConn += "Data Source=C:\hoge.mdb";
OleDbConnection CONN = new OleDbConnection(strConn);
SQL = "INSERT INTO OSYOMF(品番,品名,規格,価格) VALUES";
SQL +="(@SYO_CODE,@SYO_NAME,@SYO_KIKAKU,@SYO_COST)";
OleDbCommand CMD = new OleDbCommand(SQL,CONN);
//方法1(成功)
OleDbParameter P = new OleDbParameter("@SYO_CODE",SYO_CODE);
CMD.Parameters.Add(P);
//方法2(成功)
CMD.Parameters.Add("@SYO_NAME",SYO_NAME);
CMD.Parameters.Add("@SYO_KIKAKU",SYO_KIKAKU);
//*(失敗)
CMD.Parameters.Add("@SYO_COST",SYO_COST);
CONN.Open();
int NUM = CMD.ExecuteNonQuery();
MessageBox.Show(NUM.ToString());
CONN.Close();
}
}
題名: Re[1]: ADO.NETにて数値のパラメータ受け渡しが出来ない(自己レス)
著者: js
日時: 2004/03/03 18:02:28
ID: 2842
この記事の返信元:
[2840]
ADO.NETにて数値のパラメータ受け渡しが出来ない
js
2004/03/03 16:45:32
この記事への返信:
(なし)
ツリーを表示
お騒がせしました。コントロール名がSYO_COSTがSYS_COSTになってました。
すみませんでした。
■No2840に返信(jsさんの記事)
> こんにちわ。
> ADO.NETにてACCESS2000のMDBを更新したいのですがOleDbCommandにパラメータを渡し
> INSERT文を実行しようと思うのですがパラメータが数値だとエラーになってしまいます。どのようにすれば数値のパラメータを受入れる事が出来るのでしょうか?
> よろしくお願いいたします。
> なおパラメータに代入する値は別フォームより取得しています。
>
> private void button3_Click(object sender, System.EventArgs e)
> {
> //追加更新フォームをモーダルで開く
> Form2 F = new Form2();
> F.ShowDialog(this);
>
> string SYO_CODE = F.SYO_CODE.Text;
> string SYO_NAME = F.SYO_NAME.Text;
> string SYO_KIKAKU = F.SYO_KIKAKU.Text;
>
> //*数値型の部分(単価)
> int SYO_COST = int.Parse(F.SYO_COST.Text);
>
> string SQL="";
> string strConn;
>
> F.Dispose();
>
> if(DATA_SOURCE.Text != String.Empty)
> {
>
> strConn = "Provider=Microsoft.Jet.OLEDB.4.0;";
> strConn += "Data Source=C:\hoge.mdb";
>
> OleDbConnection CONN = new OleDbConnection(strConn);
>
> SQL = "INSERT INTO OSYOMF(品番,品名,規格,価格) VALUES";
> SQL +="(@SYO_CODE,@SYO_NAME,@SYO_KIKAKU,@SYO_COST)";
>
> OleDbCommand CMD = new OleDbCommand(SQL,CONN);
>
> //方法1(成功)
> OleDbParameter P = new OleDbParameter("@SYO_CODE",SYO_CODE);
> CMD.Parameters.Add(P);
>
> //方法2(成功)
> CMD.Parameters.Add("@SYO_NAME",SYO_NAME);
> CMD.Parameters.Add("@SYO_KIKAKU",SYO_KIKAKU);
>
> //*(失敗)
> CMD.Parameters.Add("@SYO_COST",SYO_COST);
>
> CONN.Open();
>
> int NUM = CMD.ExecuteNonQuery();
> MessageBox.Show(NUM.ToString());
>
> CONN.Close();
> }
> }
>
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
こんにちわ。
ADO.NETにてACCESS2000のMDBを更新したいのですがOleDbCommandにパラメータを渡し
INSERT文を実行しようと思うのですがパラメータが数値だとエラーになってしまいます。どのようにすれば数値のパラメータを受入れる事が出来るのでしょうか?
よろしくお願いいたします。
なおパラメータに代入する値は別フォームより取得しています。
private void button3_Click(object sender, System.EventArgs e)
{
//追加更新フォームをモーダルで開く
Form2 F = new Form2();
F.ShowDialog(this);
string SYO_CODE = F.SYO_CODE.Text;
string SYO_NAME = F.SYO_NAME.Text;
string SYO_KIKAKU = F.SYO_KIKAKU.Text;
//*数値型の部分(単価)
int SYO_COST = int.Parse(F.SYO_COST.Text);
string SQL="";
string strConn;
F.Dispose();
if(DATA_SOURCE.Text != String.Empty)
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;";
strConn += "Data Source=C:\hoge.mdb";
OleDbConnection CONN = new OleDbConnection(strConn);
SQL = "INSERT INTO OSYOMF(品番,品名,規格,価格) VALUES";
SQL +="(@SYO_CODE,@SYO_NAME,@SYO_KIKAKU,@SYO_COST)";
OleDbCommand CMD = new OleDbCommand(SQL,CONN);
//方法1(成功)
OleDbParameter P = new OleDbParameter("@SYO_CODE",SYO_CODE);
CMD.Parameters.Add(P);
//方法2(成功)
CMD.Parameters.Add("@SYO_NAME",SYO_NAME);
CMD.Parameters.Add("@SYO_KIKAKU",SYO_KIKAKU);
//*(失敗)
CMD.Parameters.Add("@SYO_COST",SYO_COST);
CONN.Open();
int NUM = CMD.ExecuteNonQuery();
MessageBox.Show(NUM.ToString());
CONN.Close();
}
}