2007/07/11(Wed) 00:26:17 編集(投稿者)
■No5326 (せんべい さん) に返信
> それらをListBox、ConboBoxに表示させたいのですが
ConboBox → ComboBox ですね。
> dataSet11.Tables.Add("SHOP_MASTR");
SHOP_MASTER で無いのが、微妙に気になる…。
> ListBox.DataSource = dataSet11.Tables["SHOP_MST"];
あれ? さっきは SHOP_MASTR だったのに、こちらは SHOP_MST ですか?
> oleda = new OleDbDataAdapter("SELECT SHOP_NAME,SHOP_ADDRESS",olecon);
FROM 句は?
> このときに
> 店舗名|店舗所在地
> といったように、一つの行に二つ表示させたいのですが、どのようにすればいいでしょうか?
案1) SQL 側を修正し、「店舗名|店舗所在地」形式の列を含めるようにする。
案2) DataTable 側を修正し、「店舗名|店舗所在地」な式列を追加する。
dataSet11.Tables["SHOP_MASTR"].Columns.Add("結合列", typeof(string), "SHOP_NAME + '\t' + SHOP_ADDRESS");
listBox1.DataSource = dataSet11.Tables["SHOP_MASTR"];
listBox1.DisplayMember = "結合列";
案3) データベース処理部分には手を加えず、コントロール側をオーナドローする。
listBox1.DrawMode = DrawMode.OwnerDrawFixed;
listBox1.DrawItem += delegate(object listBox, DrawItemEventArgs args)
{
string itemText = String.Empty;
if (args.Index >= 0)
{
DataRowView rowView = listBox1.Items[args.Index] as DataRowView;
if (rowView != null)
{
DataRow row = rowView.Row;
itemText = String.Format("{0}\t{1}", row["SHOP_NAME"], row["SHOP_ADDRESS"]);
}
}
args.DrawBackground();
using (Brush b = new SolidBrush(args.ForeColor))
{
args.Graphics.DrawString(itemText, args.Font, b, args.Bounds);
}
};
==================
> 2007/07/10(Tue) 23:46:10 編集
> すいません、急いで書いたためいろいろミスがあったみたいでした・・・
との事で、再チェック。
> olecon.ConnectionString = "Provider=MSDAORA;User ID=scott; password=tiger; Data Source = test;Persist Security Info=false";
Microsoft OLE DB Provider for Oracle で接続するよりも、
ODP.NET または OracleClient で繋いだ方が良いかも知れません。
おまけ。
http://support.microsoft.com/kb/834905/ja
> DataSet dataSet11 = new DataSet("SHOP_MASTRE");
> dataSet11.Tables.Add("SHOP_MASTR");
> oleda = new OleDbDataAdapter("SELECT SHOP_NAME,SHOP_ADDRESS FROM SHOP_MASTER",olecon);
SHOP_MASTRE と
SHOP_MASTER と
SHOP_MASTR がまだ混在しているようですが……適当に読みかえておきますね。(^^;