- PR -

オブジェクト名 が無効です。(涙)

1
投稿者投稿内容
tetsuya11
常連さん
会議室デビュー日: 2003/11/08
投稿数: 37
投稿日時: 2003-11-08 10:06
VB.NETで作成したWebフォームより、以下のソースにてSQLServerにあるテーブル
(sche_data)へのデータ新規登録を実行したのですが、「オブジェクト名 'sche_data'
は無効です。」というエラーが発生します。
同様のソース及び設定をした他のアプリでは新規登録はできるので
原因と解決方法がわかりません。
あまり説明がうまくありませんが、ご教授いただきますようお願いします。


Dim TableName As String = "sche_data"
Dim ds As DataSet = New DataSet

Private Function mysql_c(ByVal SQL As String)
'SQL文を実行して、結果をデータに収める
Dim MyCommand As New SqlDataAdapter(SQL, MyConnection)
MyCommand.Fill(ds, TableName)
End Function

Private Sub inp_y_btn1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles inp_y_btn1.Click

Dim SQL As String = "INSERT " & TableName & _
" (staff_id,yojitu_kbn,tm_start,tm_end,kenmei,naioyu) values ('" & _
id_Lab1.Text & "','" & _
yotei_lab.Text & "','" & _
STime_y1.SelectedValue & "','" & _
ETime_y1.SelectedValue & "','" & _
titlebox_y1.Text & "','" & _
memobox_y1.Text & "')"

mysql_c(SQL)

End Sub

*****************************************************************************

○例外の詳細:
System.Data.SqlClient.SqlException: オブジェクト名 'sche_data' は無効です。

○ソース エラー:
行 157: Dim MyCommand As New SqlDataAdapter(SQL, MyConnection)
行 158:
行 159: MyCommand.Fill(ds, TableName)
行 160:
行 161: End Function

○スタック トレース:
[SqlException: オブジェクト名 'sche_data' は無効です。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior,
 RunBehavior runBehavior, Boolean returnStream)
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader
 (CommandBehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
 startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
 CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32
 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
WebGroupWare2.day_sceh.mysql_c(String SQL) in c:\inetpub\wwwroot\WebGroupWare2
 \day-sche.aspx.vb:159
WebGroupWare2.day_sceh.inp_y_btn1_Click(Object sender, EventArgs e) in
 c:\inetpub\wwwroot\WebGroupWare2\day-sche.aspx.vb:226
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa
 ckEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,
String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()

*******************************************************************************
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2003-11-08 11:12
こんにちわ。諸農です。

引用:

Private Function mysql_c(ByVal SQL As String)
'SQL文を実行して、結果をデータに収める
Dim MyCommand As New SqlDataAdapter(SQL, MyConnection)
MyCommand.Fill(ds, TableName)
End Function

Private Sub inp_y_btn1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles inp_y_btn1.Click

Dim SQL As String = "INSERT " & TableName & _
" (staff_id,yojitu_kbn,tm_start,tm_end,kenmei,naioyu) values ('" & _



上記のコードでは、SqlDataAdapterのFillメソッドが使うSelect文が無いよう
ですが、InsertのSQL文でFillメソッドの呼出→DataSetへのデータ格納が可能
なんでしょうか。。。

あ、でも、

引用:

同様のソース及び設定をした他のアプリでは新規登録はできるので
原因と解決方法がわかりません。



ということは、他ではSelect無しのSqlDataAdapterのFill呼出で、Insertの
結果セットがデータソースに合わせるようにDataSet内の指定テーブル
に格納されているんですよね。。。
#Insertの結果セットなんて無いと思いますが。

ちょっと原因追求が難しそうですね。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
tetsuya11
常連さん
会議室デビュー日: 2003/11/08
投稿数: 37
投稿日時: 2003-11-11 14:44
ありがとうございます。
諸農さん、無事解決しました。

SqlConnectionプロパィのConnectionStringに
SqlDataAdapterプロパティのSelectCommand/Connection/DynamicPropateis/ConnectionStringの接続文字列を
記述したら解決しました。
ちなみにWeb.configに「<add key="・・・・・・・」、
変更したフォームの"Web フォーム デザイナで生成されたコード"に
「 Dim configurationAppSettings As System.Configuration.Ap
pSettingsReader・・・・・・」が追加されます。(以下を参照しました。)
http://www.microsoft.com/japan/msdn/vs/vb/vbtchcreateyourowndynamicpropertiespreservepropertysettingsinvisualbasicnet.asp
1

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