- - PR -
ASP.NETからAccessへのデータ接続
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-03 18:26
ASP.NET(言語C#)で、AccessのデータをDataGridを使用して表示させようとしていますが、表示してくれません。データ接続の追加時の接続テストは問題ないのにです。
誰か原因がおわかりの方または、お心当たりが有る方、ご教授お願いします。 尚、mdbファイルがあるフォルダ及びmdbファイル自身には、IUSR_(コンピュータ名)の権限は与えてあります。 環境:OS→Windows2000Server SP4 VC#2003 Access2000 何卒宜しくお願い申し上げます。 | ||||
|
投稿日時: 2006-01-03 19:24
情報が足らないような気がします。 まず、接続方法は何でしょうか? OLEDB でしょうか? 周辺のコードも判らないです。 「表示してくれません」というのは例外などは発生しないということでしょうか? それとも例外が発生するため表示できないのでしょうか? であれば、例外の詳細を教えてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-03 20:04
じゃんぬねっと様、ご返事有難う御座います。
情報が不足していた分を追記させて頂きます。何卒宜しくお願い申し上げます。 @接続方法は、OLEDBです。 A「表示されない」の詳細ですが、例外が発生している訳ではなさそうです。 処理内容を、ボタンクリックのイベントが発生したら、DataGridにAccessデータを 反映させようとしているのですが、ボタンをクリックしても無反応状態です。 (イベント自体は、機能しているみたいですが・・・) Bコードは、以下の通りです。 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.OleDb; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace WebApplication41 { /// <summary> /// WebForm1 の概要の説明です。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Data.OleDb.OleDbConnection testCnt; protected System.Data.OleDb.OleDbCommand oleDbSelectCommand1; protected System.Data.OleDb.OleDbDataAdapter testAda; protected WebApplication41.DataSet1 ds1; protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.WebControls.Button Button1; #region Web フォーム デザイナで生成されたコード override protected void OnInit(EventArgs e) { // // CODEGEN: この呼び出しは、ASP.NET Web フォーム デザイナで必要です。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// デザイナ サポートに必要なメソッドです。このメソッドの内容を /// コード エディタで変更しないでください。 /// </summary> private void InitializeComponent() { this.testCnt = new System.Data.OleDb.OleDbConnection(); this.oleDbSelectCommand1 = new System.Data.OleDb.OleDbCommand(); this.testAda = new System.Data.OleDb.OleDbDataAdapter(); this.ds1 = new WebApplication41.DataSet1(); ((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit(); this.Button1.Click += new System.EventHandler(this.Button1_Click); // // testCnt // this.testCnt.ConnectionString = @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source=""C:\\temp\\db2.mdb"";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False"; // // oleDbSelectCommand1 // this.oleDbSelectCommand1.CommandText = "SELECT name, no, pass FROM [user-data]"; this.oleDbSelectCommand1.Connection = this.testCnt; // // testAda // this.testAda.SelectCommand = this.oleDbSelectCommand1; this.testAda.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "user-data", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("name", "name"), new System.Data.Common.DataColumnMapping("Expr1001", "Expr1001"), new System.Data.Common.DataColumnMapping("pass", "pass")})}); // // ds1 // this.ds1.DataSetName = "DataSet1"; this.ds1.Locale = new System.Globalization.CultureInfo("ja-JP"); ((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit(); } #endregion private void Button1_Click(object sender, System.EventArgs e) { testAda.Fill(ds1,"user-data"); } } } | ||||
|
投稿日時: 2006-01-03 20:18
これ、DataGrid1 は一体何をしていいのかが判らないと思いますよ... (^^;)
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-04 07:51
じゃんぬねっと様、どういうことでしょうか?
DataGridプロパティーにて、データセット名とテーブル名を関連づけしていますが・・・ 初心者なので、変な質問して申し訳ありませんが、宜しくお願いします。 | ||||
|
投稿日時: 2006-01-04 10:18
お世話になります。
できましたら、DataGrid1 の DataSource ・ DataMember プロパティに 何をセットしてるのかも書かれるとよいかもしれません。 # 多分、 ds1 とか "user-data" でしょうが...。 "SELECT name, no, pass FROM [user-data]" でデータは確実にあるのですよね。 Fill したあとに、 this.DataGrid1.DataBind(); でしょうか。 | ||||
|
投稿日時: 2006-01-04 22:42
ずばりその通りでした。Fillした後に this.DataGrid1.DataBind(); の一行を付け加えしたら表示するようになりました。 有難う御座いました。 |
1