- - PR -
Web上にSQLのデータを表示させるには
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-09-26 23:20
初めましてashと言います。
みなさんに教えてもらいことがあります。 WEB上で条件を満たすデータをSQL接続により DataGridに表示させたいのですが 次のようなエラーが出てきて、上手くいきません。 '/WebApplication1' アプリケーションでサーバー エラーが発生しました。 -------------------------------------------------------------------- オブジェクト参照がオブジェクト インスタンスに設定されていません。 説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。 エラーに関する詳細および例外の発生場所については、スタック トレースを 参照してください。 例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 ソース エラー: 行 78: Dim myDataSet As New DataSet() 行 79: 行 80: SqlSelectCommand1.CommandText = "SELECT * FROM テーブル1" 行 81: SqlDataAdapter1.Fill(myDataSet) ちなみに、 ソースは Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myDataSet As New DataSet() SqlSelectCommand1.CommandText = "SELECT * FROM テーブル1" SqlDataAdapter1.Fill(myDataSet) With DataGrid1 .DataSource = myDataSet .DataBind() .Visible = True End With end sub よろしくお願いします。 |
|
投稿日時: 2002-09-27 00:53
ashさん以下の2点が原因と考えられます。
・SqlCommandオブジェクトにSqlConnectionを渡していない。 ・SqlDataAdapterオブジェクトにSqlCommandを渡していない。 以上の点を考慮に入れて書き直すと・・ Dim connectionString As String = "connectionStringを記入" Dim sqlConnection As SqlConnection = New SqlConnection(connectionString) Dim queryString As String = "SELECT * FROM テーブル1" Dim SqlSelectCommand1 As SqlCommand = New SqlCommand(queryString, sqlConnection) Dim SqlDataAdapter1 As SqlDataAdapter = New SqlDataAdapter(SqlSelectCommand1) Dim myDataSet As DataSet = New DataSet SqlDataAdapter1.Fill(myDataSet ) |
|
投稿日時: 2002-09-28 00:07
souさんレスありとうございます。
下記のコードを書いた場合、 Dim sqlConnection As SqlConnection = New SqlConnection(connectionString) Dim SqlSelectCommand1 As SqlCommand = New SqlCommand(queryString, sqlConnection) Dim SqlDataAdapter1 As SqlDataAdapter = New SqlDataAdapter(SqlSelectCommand1) の3行の全て、As の後のSqlConnection,SqlCommand,SqlDataAdapterの3つとも 定義されていませんとエラーが出てきます。 また、別にコードとか書き加える必要があるのでしょうか? よろしくお願いします。 |
|
投稿日時: 2002-09-29 12:27
名前空間が不足しているためですね。
下記のコードを付け足してください。 <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> |
|
投稿日時: 2002-09-30 21:47
2行のコードを加えると、そちらの方は無事に済みましたが、今度は、
'/WebApplication1' アプリケーションでサーバー エラーが発生しました。 -------------------------------------------------------------------- ユーザー '(null)' のログインに失敗しました。 理由 : SQL Server の信頼関係接続に関連付けられていません。 ソース エラー: 行 98: Dim myDataSet As DataSet = New DataSet() 行 99: 行 100: SqlDataAdapter1.Fill(myDataSet) ←赤で書かれています。 行 101: というエラーが出てきたのです。 で、ヘルプや本などをいろいろ調べてみて、 Microsoft SQL Server→Enterprise Managerを開き 使用しているサーバー名のプロパティの所で、セキュリティプロパティページの 混合モード (Windows 認証と SQL Server 認証)を選択してみたんですが、 それでもうまく行かないのです。 ちなみに、Dim connectionString As String = "connectionStringを記入" の""内は、SqlConnection1のConnectionStringのプロパティの所をそのまま 写しているのですが・・・ いろいろ迷惑かけますが、よろしくお願いします。 |
|
投稿日時: 2002-10-01 00:41
connectionStringは以下のようになります。
Windows認証ならば "server=server_name;database=database_name;trusted_connection=true" SQL認証ならば "server=server_name;database=database_name;user id=sa;password=" server_nameはashさんのSQL Serverのサーバー名。 database_nameはSQL Server上のデータベースの名前。 SQL認証の場合のidとpasswordはashさんの環境に 合わせて書き直してください。 |
|
投稿日時: 2002-10-01 22:20
ashです。
えーと、今度はエラーは出ずに無事に動いたのですが、肝心のデータが 表示されないのです。結局、DataGridのフォームだけしか表示されません。 ちなみに、データベースのユーザ名はsaで、権限の所でSELECTをチェック 入れています。 また、認証はSQL Server認証でアクセス許可を選択しています。 他に何か表示されない原因とかあるのでしょうか? よろしくお願いします。 |
|
投稿日時: 2002-10-02 10:23
ashさん始めまして。
私も初めて.NETでWebアプリケーションの作成を行っていますが 以下のページが参考になると思いましたので、一読をお勧めします。 Microsoft SQL Server 2000 自習書シリーズ http://www.microsoft.com/japan/sql/using/sqleval/Self_Doc.asp [開発編] 11. ASP.NET を用いた Web アプリケーションと XML Web サービスの開発 12. ADO.NET によるデータベースプログラミング 最初は中々難しいかったですが、わかってくれば 意外とすんなり進んでいくものですので、 お互いがんばっていきましょう! |