查看: 731|回复: 14
|
Inserting Data in ASP.NET
[复制链接]
|
|
现在我的dataset name是applicantds
首先我知道第一行是
me.sqlcommand1.commandtext = ...........(sql)
过后呢?我记得还有两行的,是要fill的。。可是我忘了怎么打。。
谁知道呢? |
|
|
|
|
|
|
|
发表于 8-3-2006 09:12 AM
|
显示全部楼层
不太了解你怎么用你的 dataset, 不过如果用 command 的话...
Dim myCommand As New SqlCommand(sql, SqlConnectionObject)
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close() |
|
|
|
|
|
|
|
楼主 |
发表于 8-3-2006 05:23 PM
|
显示全部楼层
嗯。。我的Code是这样。。
Dim ds As DataSet
Me.SqlCommand1.CommandText = 。。。(SQL)
ds = Me.Applicantds1
Me.SqlDataAdapter1.Fill(ds)
ERROR is:
Cannot open database requested in login 'EHR'. Login fails. Login failed for user 'SIANGFOONG\ASPNET'.
|
|
|
|
|
|
|
|
发表于 8-3-2006 10:01 PM
|
显示全部楼层
原帖由 Mr^MOon 于 8-3-2006 05:23 PM 发表
嗯。。我的Code是这样。。
Dim ds As DataSet
Me.SqlCommand1.CommandText = 。。。(SQL)
ds = Me.Applicantds1
Me.SqlDataAdapter1.Fill(ds)
ERROR is:
Cannot open database reque ...
只是 login 失败而已, 检查你的 sql server 用户权限, 看看这用户能不能用这资料库. |
|
|
|
|
|
|
|
楼主 |
发表于 9-3-2006 10:58 PM
|
显示全部楼层
没有Login的Error了。。在Enterprise Manager那里Add多一个Database User就可以了。。
可是,按Submit后,Page refresh了一下,然后资料竟然不会进去Database
Table。。。
之后用Textbox显示出我的SQL, 然后Paste去Visual Studio那里Query, SQL并没有错误。。。
还有什么方法Track这个问题呢? |
|
|
|
|
|
|
|
发表于 10-3-2006 09:10 AM
|
显示全部楼层
原帖由 Mr^MOon 于 9-3-2006 10:58 PM 发表
没有Login的Error了。。在Enterprise Manager那里Add多一个Database User就可以了。。
可是,按Submit后,Page refresh了一下,然后资料竟然不会进去Database
Table。。。
之后用Textbox显示 ...
用 Visual Studio 的 F11 trace, 看看你的 code 执行到那里去了. |
|
|
|
|
|
|
|
楼主 |
发表于 10-3-2006 01:58 PM
|
显示全部楼层
原帖由 goatstudio 于 10-3-2006 09:10 AM 发表
用 Visual Studio 的 F11 trace, 看看你的 code 执行到那里去了.
可以的吗?我是用ASP.NET的。。
觉得应该用别的方法Insert Data, 而不是Fill Dataset。。 |
|
|
|
|
|
|
|
发表于 10-3-2006 02:24 PM
|
显示全部楼层
原帖由 Mr^MOon 于 10-3-2006 01:58 PM 发表
可以的吗?我是用ASP.NET的。。
觉得应该用别的方法Insert Data, 而不是Fill Dataset。。
不是... 我的意思是说...
你可以用 Visual Studio 里的侦错功能来一行一行检查, 看看你的 code 到底怎么执行. |
|
|
|
|
|
|
|
楼主 |
发表于 10-3-2006 03:02 PM
|
显示全部楼层
哦,我试试。。因为我的印象中,好像只有VB.NET才可以Trace Error的。。
或许是我记错了吧。。 |
|
|
|
|
|
|
|
发表于 11-3-2006 04:46 PM
|
显示全部楼层
原帖由 Mr^MOon 于 10-3-2006 01:58 PM 发表
可以的吗?我是用ASP.NET的。。
觉得应该用别的方法Insert Data, 而不是Fill Dataset。。
Update 和 insert 不必dataset, 虽然使用dataset也可以update 和 insert data, 不过比较麻烦。
比较传统的方法是:
sqlStatement = "insert into ......"
me.Command1.CommandText = sqlStatement
me.Command1.ExecuteNonQuerry()
使用web application 也不鼓励使用 dataset, 请参考:
http://aspnet.4guysfromrolla.com/articles/050405-1.aspx |
|
|
|
|
|
|
|
楼主 |
发表于 11-3-2006 05:08 PM
|
显示全部楼层
原帖由 热乎乎的冰淇淋 于 11-3-2006 04:46 PM 发表
Update 和 insert 不必dataset, 虽然使用dataset也可以update 和 insert data, 不过比较麻烦。
比较传统的方法是:
sqlStatement = "insert into ......"
me.Command1.CommandText = sqlSta ...
谢谢,这个问题Senior也说过我。。可是习惯了~我尽量改。。
还有,Data Binding的时候可以不用Dataset的吗? |
|
|
|
|
|
|
|
发表于 11-3-2006 05:16 PM
|
显示全部楼层
databind 也不必使用 dataset, 例如使用datagrid 的话:
datagrid1.dataSource = command1.ExecuteReader()
datagrid1.DataBind() |
|
|
|
|
|
|
|
发表于 13-3-2006 09:12 AM
|
显示全部楼层
Dim ds As DataSet
Me.SqlCommand1.CommandText = 。。。(SQL)
Me.SqlDataAdapter1.SelectCommand=Me.SqlCommand1
Me.SqlDataAdapter1.Fill(ds) |
|
|
|
|
|
|
|
楼主 |
发表于 13-3-2006 09:45 PM
|
显示全部楼层
请问一下,这是什么Error?
System.InvalidOperationException: ExecuteNonQuery requires an open and
available Connection. The connection's current state is Closed. at
System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing) at
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at
E_HR.applicant.btnsubmit_Click(Object sender, EventArgs e) in
C:\Inetpub\wwwroot\E-HR\applicant.aspx.vb:line 339
我的Code是:
Dim istr As String = “SQL”
Dim iConnection As New SqlClient.SqlConnection("integrated security=SSPI;data source=SIANGFOONG;initial catalog=EHR")
Dim iCommand As New SqlClient.SqlCommand(istr, iConnection)
Try
Dim iRows As Integer = iCommand.ExecuteNonQuery()
Me.lblstatus.Text = "Add/Update successfully!"
iCommand.Connection.Close()
Catch ex As Exception
Me.lblstatus.Text = ex.ToString
End Try |
|
|
|
|
|
|
|
楼主 |
发表于 13-3-2006 10:38 PM
|
显示全部楼层
嗯,解决了。。
加多一行。。
iConnection.Open() |
|
|
|
|
|
|
| |
本周最热论坛帖子
|