- - PR -
テキストファイルからのDBの更新について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-07-25 13:52
VB.NETでWEBアプリの開発をしていまして、
テキストファイルを読み込み、DBに登録する時に DBのテーブルのデザインで設定した長さで区切って入れていきたいのですが どのようにすればいいのでしょうか? 現状はとりあえず下のソースで動かしているのですが テーブルのデザインの変更があっても手直しをしなくていいようにしたいのです よろしくお願いします。 For i = 0 To len - 1 dr = ds.TEST.NewRow '画面のデータをDataRowに格納する dr("A") = TEXT.Substring(i, 4) dr("B") = TEXT.Substring(i + 4, 5) dr("C") = TEXT.Substring(i + 9, 3) dr("D") = TEXT.Substring(i + 12, 3) dr("E") = i '作成した行をデータセットに追加する ds.TEST.Rows.Add(dr) i = i + 16 Next SqlDataAdapter1.Update(ds) | ||||
|
投稿日時: 2003-07-25 17:42
> DBのテーブルのデザインで設定した長さ
こちらの取得方法を知りたいということでしょうか? DBのテーブルのデザインとは、テーブルの列幅という理解でいいのでしょうか? | ||||
|
投稿日時: 2003-07-28 13:10
返答ありがとうございます。
>こちらの取得方法を知りたいということでしょうか? そのとおりです。よろしくお願いします。 >DBのテーブルのデザインとは、テーブルの列幅という理解でいいのでしょうか? テーブルのデザインというのは設定した文字数のことです。 | ||||
|
投稿日時: 2003-07-28 18:42
こんにちは。
DataAdapterでFillしてDataTableを作成してやれば、DataColumnが設定されていると思います。そいつを参照してやれば如何でしょうか?(未確認) Oracleであれば、DESCRIBE TableNameでテーブル情報が取得できます。この結果をDataReaderで読み込むようにすれば如何でしょう? | ||||
|
投稿日時: 2003-07-28 19:58
> Oracleであれば、DESCRIBE TableNameでテーブル情報が取得できます。
SQL*Plusコマンドなので、アプリケーションから発行できなかったような... DBA_TAB_COLUMNS で得ることができます。 # あくまで、Oracleの場合です。 | ||||
|
投稿日時: 2003-07-28 20:57
こんばんは、meiです。
DataAdapterのFillSchemaを使うのはどうでしょうか?
ただし、数値型の場合はMaxLengthが-1になって帰ってくるので、 アプリケーションとしての最大長を決めておく必要があります。 | ||||
|
投稿日時: 2003-07-29 09:57
返答ありがとうございます。
DBがSQLサーバーだということを記載するのを忘れていまして meiさんの方法を解析してやってみたのですがどうもうまくいきませんでした。 大変申し訳ないのですがSQLサーバーでの方法を教えていただけたらと思います。 本当にすみません。 | ||||
|
投稿日時: 2003-07-29 22:01
Connectionオブジェクトはデータベースに接続済みでしょうか? SQLサーバーは使ってないので試せないのですが、 サンプルをSystem.Data.SqlClient名前空間のクラスに置き換えても駄目ですか? |
1