- PR -

テーブルのデータを取得する

投稿者投稿内容
yyy
会議室デビュー日: 2008/11/21
投稿数: 12
投稿日時: 2008-11-26 12:00
SELECT文を作成し、
sqlには、SQL文が入ってます。

その後、このようにコードを作成したのですが、

NpgsqlCommand command = new NpgsqlCommand();
command.CommandText = sql.ToString();
DataSet ds = new DataSet("TABLE");

NpgsqlDataAdapter da = new NpgsqlDataAdapter(command);
da.Fill(ds,"customer_d");   ←ここでcatchに入ってしまいます。


DataTable dt = new DataTable();
dt = ds.Tables["customer_d"];

int i, j;
object a;

for (i = 0; i < dt.Rows.Count; i++)
{
for (j = 0; j < dt.Columns.Count; j++)
 {
a = dt.Rows[i][j];
this.customerNumericText.Text = a.ToString();
}
}


どなたかご教授お願い致します。
なかむら
ベテラン
会議室デビュー日: 2008/11/11
投稿数: 67
お住まい・勤務地: 福岡
投稿日時: 2008-11-26 12:26
例外の内容も書いてください。

それと、コードでは command に Connection を設定していないようですが、書き忘れでしょうか?

_________________
Nakamura Blog
108
常連さん
会議室デビュー日: 2007/12/12
投稿数: 45
投稿日時: 2008-11-26 12:30
引用:
da.Fill(ds,"customer_d");   ←ここでcatchに入ってしまいます。



何をcatchされましたか?

とりあえず
http://msdn.microsoft.com/ja-jp/library/y4b211hz.aspx
yyy
会議室デビュー日: 2008/11/21
投稿数: 12
投稿日時: 2008-11-26 12:40
connectionは、記載するのを忘れたのですが、
このコードは
using(データベースに接続し、openしているコード)
{
コード
}
となっています。


本に記載されているコードを書いているため、なぜFillのなかに引数が2個あるのかも分からずにいます。。。。。。。
dt.Fill(ds)
でもよい気がしますがエラーです。

いろんな方法を試してますが、どうしてもできません。。。泣
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2008-11-26 12:49
他の方もおっしゃっている通り
「catch された例外の内容を書いてください。」

データベースに接続し OPEN したことはわかりましたが
その接続を Command の Connection プロパティに設定していますか?

Fill がわからないなら Fill について調べてください。

http://www.postgresql.jp/document/NPGSQL/api/Npgsql.NpgsqlDataAdapterMembers.html
108
常連さん
会議室デビュー日: 2007/12/12
投稿数: 45
投稿日時: 2008-11-26 12:51
なかむらさんの
引用:
例外の内容も書いてください。


私の
引用:
何をcatchされましたか?


の意味がわからないということですね。

Catch ex As Exception のように例外をCatchされていると思いますので
exの内容を記せば、読んでくれた方達が貴方の力になりやすいかと思います。

C#なら catch (Exception ex)ですか。

[ メッセージ編集済み 編集者: 108 編集日時 2008-11-26 12:59 ]
yyy
会議室デビュー日: 2008/11/21
投稿数: 12
投稿日時: 2008-11-26 13:34
それが、
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
と書いても、何も表示されないんです。

なかむら
ベテラン
会議室デビュー日: 2008/11/11
投稿数: 67
お住まい・勤務地: 福岡
投稿日時: 2008-11-26 13:47
引用:

それが、
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
と書いても、何も表示されないんです。


ex.GetType().ToString() や ex.Message や ex.StackTrace や ex.InnerException
も確認してみてください。

開発は VisualStudio で行っているんでしょうか?
VisualStudio なら
1.上のコードの MessageBox.Show の部分にブレークポイントを挿入
2.デバッグ実行
3.MessageBox.Show のところで止まるから、変数 ex をクイックウォッチで開く
とすれば中身をのぞけますよ。


_________________
Nakamura Blog

[ メッセージ編集済み 編集者: なかむら 編集日時 2008-11-26 13:48 ]

スキルアップ/キャリアアップ(JOB@IT)