• 締切済み

Visual Basic SQL INSERT ADO

VisualBasic6.0 を使用しています。 SQLのINSERT文についての質問なのですが、 フォームのテキストに記入された内容を新規のレコードとしてデータベースに登録する場合、どのようなプログラムを組めばよいのでしょうか? 下記のように組んでみたのですが、エラー(実行時エラー'-2147217904(80040e10)':一つ以上の必要なパラメータの値が設定されていません)がでてしまいます。 以下のプログラムでは、 Form4の.Text1~7にユーザーが記入した情報をデータベースのM_USERというテーブルの新レコードとして追加しようとしています。 おねがいします。

みんなの回答

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

そのエラーになった、SQL分を公開して頂けると助かります。 また、M_USERのテーブル構成(列名や型など)の情報も 記載して頂けますか? よろしくお願いします。

関連するQ&A

  • Visual Basic SQL INSERT ADO

    VisualBasic6.0 を使用しています。 SQLのINSERT文についての質問なのですが、 フォームのテキストに記入された内容を新規のレコードとしてデータベースに登録する場合、どのようなプログラムを組めばよいのでしょうか? 下記のように組んでみたのですが、エラー(実行時エラー'-2147217904(80040e10)':一つ以上の必要なパラメータの値が設定されていません)がでてしまいます。 以下のプログラムでは、 Form4の.Text1~7にユーザーが記入した情報をデータベースのM_USERというテーブルの新レコードとして追加しようとしています。 Private Sub Command1_Click() Dim objcon As ADODB.Connection Dim objrec As ADODB.Recordset Dim strConnectString As String Dim strMDBFilePath As String Dim strSQL As String strMDBFilePath = "C:\Documents and Settings\Watanabe Ryota\デスクトップ\新ダイエット\diet.mdb" strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";" Set objcon = New ADODB.Connection objcon.Open strConnectString strSQL = "INSERT INTO M_USER(U_ID,U_NAME,U_PASS,U_SIZES1,U_SIZES2,U_CAL,U_IKIGOMI) VALUES(Form4.Text1,Form4.Text2,Form4.Text3,Form4.Text4,Form4.Text5,Form4.Text6,Form4.Text7)" Set objrec = objcon.Execute(strSQL) End Sub おねがいします。

  • SQL INSERTの使い方を教えてください

    vb2008でアクセスへデータを書き込む部分のコードを書こうとしているのですが、SQLのINSERT構文を使って連続した10レコードをテーブルへINSERTしたいのですが1つわからないところがあります。例えば、あるフィールドで、1番目のレコードだけアイテムが入り、残りは書き込む必要がない場合、Do~Loopなど使用しINSERT構文にて書き込み処理する場合、どのように条件わけするとすっきり書けるでしょうか・・・?いい感じのロジックがあればご教授願います。

  • 画面遷移について(SQL,SELECT)

    概要です。 VisualBasic2010にてフォーム1(ログイン画面)→フォーム2(メニュー画面) を作成しようとしております。 現在の構成です。 ・ログイン画面 ・メニュー画面 ・ユーザー名とパスワードが入力されたテーブル(SQLサーバーで作成(ローカルデータベース) 質問です。 ログイン画面にユーザー名とパスワードのテキストボックスを設けているのですが、 ログインするボタンを押下したときに、ログイン画面に入力したユーザー名と パスワードのテキストボックスでテーブルを検索して、ユーザー名とパスワードが一致 したらメニュー画面に遷移し、一致しなかったらエラーメッセージボックスを出したいの ですが、どういったコードを書けば良いかわかりません。 また試行錯誤して、ボタンクリックイベントでSELECT文を書いて、取得した レコードの一部を抜き出してユーザー名とパスワードを比較させようとしても コードがわかりませんでした。 わかりにくい文かもしれませんが、ご回答よろしくお願いします。

  • mySQLでINSERT Errorとなります。

    初心者です。よろしくお願いいたします。 データを入れたいのですが、エラーとなってしまいます。 以下でデータベースとテーブルを作成し、 <?php $db_name="tori"; $tbl_name = "hato"; $db = mysql_connect('localhost', 'root', ''); if (!$db) { die('接続できません: ' . mysql_error()); } $sql = 'CREATE DATABASE tori'; if (mysql_query($sql, $db)) { echo "データベースtori の作成に成功しました\n"; } else { echo 'データベースtoriの作成に失敗しました: ' . mysql_error() . "\n";} mysql_select_db($db_name,$db) or die("データベースへの接続エラー"); $query ="create table {$tbl_name} ( id char(8) primary key, date TEXT, sex TEXT, age TEXT )TYPE=MyISAM"; mysql_query($query); $query ="INSERT INTO `houzingpark`.`hatogaya` ( id , date , sex , iro ) VALUES ( '2', 'uu', 'ii', 'po' )"; mysql_close($db); ?> 以下で入れ込みたいのですが、出来ないのです。 <?php $db_name="tori"; $tbl_name = "hato"; $db = mysql_connect('localhost', 'root', ''); if (!$db) { die('接続できません: ' . mysql_error()); } mysql_select_db($db_name,$db) or die("データベースへの接続エラー"); $sql="INSERT INTO hatogaya ( id , date , sex , iro ) VALUES ( 3, 2005-12-3, mesu, cya )"; mysql_query($sql); if(!$result){print 'INSERT Error!';} echo $sql; mysql_close($db); ?> でINSERTしようとするのですが、INSERT Error!と表示されてしまいます。 Adminで見るとデータベースとテーブルは出来ているのですが、どうしてもINSERTできないのです。 もう何時間も悪戦苦闘しております。 どなたかご指導よろしくお願いいたします。

  • mysql insert文

    恐れ入ります。 input 送信で、perl にてレコードをinsertしたいのですが、なかなかうまくいきません。 <form action="./xxx.cgi" method="post"> <input type ="hidden" name=num></input> <input type="text" name="col1"></input> <input type="text" name="col2"></input> <input type="text" name="col3"></input> <input type="submit" value="登録"> </form> として送信して、 $sql = "insert into kensou(num,col1,col2,col3) "; $sql.="values('$form{num}','$form{col1}','$form{col2}','$form{col3}')"; # SQL実行 $sth = $db->prepare($sql); if(!$sth->execute){ print "SQL失敗\n"; exit; } で受け取ろうとしているのですが、うまくいきません。 どなたかご教授いただけないでしょうか。

  • Sybase IQでのINSERT速度改善

    リアルタイムにデータが発生し、Sybase IQ(15.2)のテーブルに随時レコード追加する処理のパフォーマンス改善をしたいです。 Javaでプログラムを書いていて、1スレッドで処理をしていたのですが、レコード総数が多くなってきたせいか処理が重くなってきました。 ですので複数スレッド・コネクションでINSERT文を実行するように修正したところ、以下のエラーが発生しました。 「SQL Anywhere エラー -210 : テーブル名 のローは、ユーザ '別のユーザ' によってロックされています。」 INSERTしているだけなのですが、テーブル全体をロックしているのかエラーが発生してしまいます。 数十件くらいのINSERT文をバッチ処理(executeBatch)で実行するということを、各スレッドで数秒間隔で行っています。UPDATEは一切行いません。 Sybase IQで、複数のコネクションで並列してINSERT文を実行するということはできないのでしょうか? また他に改善方法がありましたら教えてください。

  • insertについて

    レコードをinsertする際に複数ある値の内、一つの値を別のテーブルにある値をinsertしたいのですが、その場合、SQL文はどのように書けばいいのでしょうか? 前提として型や長さなどは同一です。 mysql5です。

    • ベストアンサー
    • MySQL
  • insert文について

    Access2000を使用しています。 テーブルがメインとサブの2つあり、 どちらにも同じ項目があります。 その項目をリレーションシップで関連付けました。 フォームがあり、いくつかあるテキストボックスは非関連です。 そのテキストの1つが関連付けた項目となります。 フォームに入力した項目はほどんどがサブテーブルにinsertされます。 しかし、SQL文は実行されるのですが、 そのあと、エラーメッセージにより追加されることができません。 リレーションシップをしていると追加することができないのでしょうか? 項目名は ・コード ・学校名 ・学部

  • ACCESS SQLのINSERTについて

    TBLというテーブルにINSERT文を使用して1行レコードを追加したいです。TBLテーブルのカラムAにはシステム日付を、カラムBには別テーブルのselect count(*)の実行結果を挿入したいのですがうまくいきません。何か良い方法はございませんでしょうか? INSERT INTO カウンタ統計 ( [DATE], USER_COUNT ) VALUES (date(), (SELECT COUNT(*) FROM hiplus_HW_USER)); ※日付は問題なく挿入できるのですがSELECT文の結果が挿入できない状況です。宜しくお願いします.

  • php postgres Insert と updateができない

    こんにちは、 現在、php5とpostgresql8でプログラムを行っています。 それで、 $sql = "INSERT INTO t_hoge (name) VALUES('hogesan')"; pg_exec($sql) と、テーブルにデータを入れているんですが、 エラーはでないのに何故かデータがテーブルにインサートできません。 また、アップデートで編集もできません。 しかし、SELECTで既に入力されているデータを読んでprint等で表示させると普通にデータは取れています。 また、telnet等で直接postgresに hoge=> INSERT INTO t_hoge (name) VALUES('hogesan'); と入力するとデータが挿入できます。 なにが問題なんでしょうか。 権限が問題なのでしょうか。 ちなみにテーブル作成するときは CREATE TABLE t_hoge ( name TEXT PRIMARY KEY, info TEXT ); としています。 なにか思い当たる節があれば助言していただきたいのですが。

    • ベストアンサー
    • PHP

専門家に質問してみよう