我正在尝试将数据插入我的表中。我创建了一个存储过程来执行此操作。我还创建了一个调用存储过程的方法。当我点击提交按钮时,点击事件被触发,我获取输入数据并调用方法插入到表中。我没有收到任何错误,但是当我签入数据库时,尚未插入数据。我试过手动执行存储过程,它确实有效。这是我的存储过程:CREATE PROCEDURE [dbo].AddRestaurant @theName VARCHAR(250), @theAddr VARCHAR(350), @theCity VARCHAR(50), @theState VARCHAR(2), @theZip VARCHAR(5), @theCategory INTASBEGIN INSERT INTO Restaurants (RestName, RestAddr, RestCity, RestState, RestZip, CategoryID) VALUES (@theName, @theAddr, @theCity, @theState, @theZip, @theCategory)END这是我的表结构:CREATE TABLE [dbo].[Restaurants] ( [RestaurantID] INT IDENTITY (1, 1) NOT NULL, [RestName] VARCHAR(250) NULL, [RestAddr] VARCHAR(350) NULL, [RestCity] VARCHAR(50) NULL, [RestState] VARCHAR(2) NULL, [RestZip] VARCHAR(5) NULL, [CategoryID] INT NULL, PRIMARY KEY CLUSTERED ([RestaurantID] ASC), CONSTRAINT [FK_Restaurants_CatergoryID] FOREIGN KEY ([CategoryID]) REFERENCES [dbo].[Categories] ([CategoryID]));这是我的方法:public void AddRestaurant(string name, string addr, string city, string state, string zip, int category){ DBConnect objDB = new DBConnect(); objCmd.Parameters.Clear(); objCmd.CommandType = CommandType.StoredProcedure; objCmd.CommandText = "AddRestaurant"; objCmd.Parameters.AddWithValue("@theName", name); objCmd.Parameters.AddWithValue("@theAddr", addr); objCmd.Parameters.AddWithValue("@theCity", city); objCmd.Parameters.AddWithValue("@theState", state); objCmd.Parameters.AddWithValue("@theZip", zip); objCmd.Parameters.AddWithValue("@theCategory", category); objDB.GetConnection().Open(); objDB.DoUpdateUsingCmdObj(objCmd); int affectedRows = objDB.DoUpdateUsingCmdObj(objCmd); objDB.CloseConnection();}
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
我发现了我的错误。我打开了两次连接。
objDB.GetConnection().Open();
将其更改为:
objDB.GetConnection();
- 1 回答
- 0 关注
- 176 浏览
添加回答
举报
0/150
提交
取消
