如何使用存储过程向数据库插入记录?

firefox0704 2012-06-07 05:31:38
我自己写了一点代码,但是出现如下错误{"'dbo' 附近有语法错误。"}
以下是我的代码:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i%
Dim row As GridViewRow
Dim s As String
Dim sum As Decimal
For i = 0 To GridView1.Rows.Count - 1
row = GridView1.Rows(i)
s = row.Cells(3).Text
sum = sum + Decimal.Parse(s)
SqlDataSource1.InsertParameters.Clear()
SqlDataSource1.InsertParameters.Add("UserID", Session("loginname"))
SqlDataSource1.InsertParameters.Add("Listname", GridView1.Rows(i).Cells(0).Text)
SqlDataSource1.InsertParameters.Add("Price", GridView1.Rows(i).Cells(1).Text)
SqlDataSource1.InsertParameters.Add("Number", GridView1.Rows(i).Cells(2).Text)
SqlDataSource1.InsertParameters.Add("Time", DateTime.Today.ToShortDateString)
SqlDataSource1.InsertCommand = "dbo.InsertCart"
Session("TodayTime") = DateTime.Today.ToShortDateString
SqlDataSource1.Insert()
Next
SqlDataSource2.InsertParameters.Clear()
SqlDataSource2.InsertParameters.Add("UserID", Session("loginname"))
SqlDataSource2.InsertParameters.Add("Name", GridView2.Rows(0).Cells(0).Text)
SqlDataSource2.InsertParameters.Add("Adress", GridView2.Rows(0).Cells(2).Text)
SqlDataSource2.InsertParameters.Add("Telephone", GridView2.Rows(0).Cells(3).Text)
SqlDataSource2.InsertParameters.Add("Totel", sum)
SqlDataSource2.InsertParameters.Add("Zhuangtai", "未送餐")
SqlDataSource2.InsertCommand = "dbo.InsertPeisong"
SqlDataSource2.Insert()
Response.Write("<script> window.onload = function() {alert('订单保存成功,我们会尽快配送');location.href='returnlist.aspx'}</script>")
End Sub

这个是客户端存储过程的代码

ALTER PROCEDURE [dbo].[InsertCart]

(
@UserID varchar(20),
@ListName varchar(20),
@Price Decimal(15,2),
@Number int,
@DingcanTime datetime
)

AS
set nocount off
insert into dbo.cart
(UserID,ListName,Price,Number,DingcanTime) values (@UserID,@ListName,@Price,@Number,@DingcanTime)



ALTER PROCEDURE InsertPeisong

(
@UserID varchar(20),
@Name varchar(20),
@Telephone varchar(11),
@Adress varchar(100),
@Totel decimal(15,2),
@Zhuangtai varchar(10)
)

AS
insert into Peisong
(UserID,Name,Telephone,Adress,Totel,Zhuangtai) values (@UserID,@Name,@Telephone,@Adress,@Totel,@Zhuangtai)
RETURN


请问到底哪里出错了?
...全文
130 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-06-07
  • 打赏
  • 举报
回复
SqlDataSource2.InsertCommand.CommandType = CommandType.StoredProcedure
SqlDataSource2.InsertCommand.CommandText = "InsertCart"

你需要指明是存储过程
xmhxjjq 2012-06-07
  • 打赏
  • 举报
回复
set nocount off
insert into dbo.cart
(UserID,ListName,Price,Number,DingcanTime) values (@UserID,@ListName,@Price,@Number,@DingcanTime)

这个sql语句 能在数据库里正常执行么。
填入数据以后。 看一下。 如果能执行 那就检查存储过程。 不能执行 就修改。 先这样看下。
firefox0704 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

InsertCart 用这个做存储过程名看下。 前面的dbo。去掉

SqlDataSource1.InsertCommand = "dbo.InsertCart"
[/Quote]
去掉试过,也是提示附近的语法错,选中的是 SqlDataSource1.Insert()这条语句
xmhxjjq 2012-06-07
  • 打赏
  • 举报
回复
InsertCart 用这个做存储过程名看下。 前面的dbo。去掉

SqlDataSource1.InsertCommand = "dbo.InsertCart"

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧