■41628 / inTopicNo.6) |
Re[5]: GridViewのデータ追加が動かない |
□投稿者/ サトシ (14回)-(2009/09/25(Fri) 23:17:56)
|
■No41627 (ごう さん) に返信
もりおさん、ごうさん、早急なアドバイスありがとうございます。
> 日付に関しましては、こちらの記事がお勧めです。
> VBからAccessへINSERT
> http://bbs.wankuma.com/index.cgi?mode=red&namber=40683&KLOG=70
の情報をヒントに、scriptの方ではなく、SQLの方で実現する方法
InsertCommand="INSERT INTO `Test` (`userName`, `mailAddress`, `created`) VALUES (?, ?, Now())"
で目的の機能が実現できました。皆さん、本当にありがとうございました。
ごうさんへ
> > AccessDataSource1に代入するパラメータの型はDateTime型なんですよね?
> こちらから質問してみたのですが・・・DateTime型じゃなくて、String型なんですね。
追加日時情報を入れる created はDateTime型に設定してあります。
うまく動いたコードの抜粋
<script runat="server">
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
If e.CommandName = "Insert" Then
AccessDataSource1.InsertParameters.Clear()
For Each key As String In Request.Form.AllKeys
If key.Contains("$InsertUserName") Then
AccessDataSource1.InsertParameters.Add(New ControlParameter("userName", TypeCode.String, key, "Text"))
End If
If key.Contains("$InsertMailAddress") Then
AccessDataSource1.InsertParameters.Add(New ControlParameter("mailAddress", TypeCode.String, key, "Text"))
End If
Next
AccessDataSource1.Insert()
End If
End Sub
</script>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="App_Data\TestDB.mdb"
InsertCommand="INSERT INTO `Test` (`userName`, `mailAddress`, `created`) VALUES (?, ?, Now())"
<InsertParameters>
<asp:Parameter Name="userName" Type="String" />
<asp:Parameter Name="mailAddress" Type="String" />
<asp:Parameter Name="created" Type="DateTime" />
</InsertParameters>
</asp:AccessDataSource>
|
解決済み
|