我正在尝试将插入值的过程写入表中,但未将值插入表中 作为参考,我给出了我尝试过的代码......任何人都可以帮助我
对于插入我尝试此代码
public int Visitor_Insert(visitor_Master visitor_obj, common_Class comm_obj)
{
DB_Connection();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT_VISITOR";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.Parameters.AddWithValue("@VISITOR_NAME", visitor_obj.VisitorName);
cmd.Parameters.AddWithValue("@VISITOR_CONTACT", visitor_obj.VisitorContact);
cmd.Parameters.AddWithValue("@VISITOR_ADDRESS", visitor_obj.VisitorAddress);
cmd.Parameters.AddWithValue("@VISITOR_AGE", visitor_obj.VisitorAge);
cmd.Parameters.AddWithValue("@VISITOR_VEHICLENO", visitor_obj.VisitorVehicleNO);
//cmd.Parameters.AddWithValue("@VISITOR_AGE ", visitor_obj.VisitorAge);
int i = cmd.ExecuteNonQuery();
return i;
}
对于程序,我写了这段代码
USE [VPMS]
GO
/****** Object: StoredProcedure [dbo].[INSERT_VISITOR] Script Date: 07/24/2013 16:01:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[INSERT_VISITOR]
@VISITOR_NAME NVARCHAR(30),
@VISITOR_CONTACT NVARCHAR(10),
@VISITOR_ADDRESS NVARCHAR(40),
@VISITOR_AGE NVARCHAR(2),
@VISITOR_VEHICLENO NVARCHAR(20),
@VISITOR_IMAGE IMAGE,
@VISITOR_CREATEDBY NVARCHAR(20),
@VISITOR_CREDTEDON NVARCHAR(20),
@VISITOR_MODIFIEDBY NVARCHAR(20),
@VISITOR_MODIFIEDON NVARCHAR(20)
AS
DECLARE @VISITOR_ID INT,
BEGIN
SET NOCOUNT ON;
SELECT @VISITOR_ID= MAX(Visitor_Id) FROM Visitor_Master
IF (@VISITOR_ID > 0 )
BEGIN
SET @VISITOR_ID=@VISITOR_ID+1
END
ELSE
BEGIN
SET @VISITOR_ID=10
END
INSERT INTO Visitor_Master( Visitor_Id, VisitorName, Visitor_Contact, Visitor_Address, Visitor_age,
Visitor_VehicleNo, Visitor_Image, Created_By, Created_On, Modify_By, Modify_On)
VALUES(@VISITOR_ID,@VISITOR_NAME,@VISITOR_CONTACT,@VISITOR_ADDRESS,@VISITOR_AGE,@VISITOR_VEHICLENO,@VISITOR_IMAGE,@VISITOR_CREATEDBY,
@VISITOR_CREDTEDON,@VISITOR_MODIFIEDBY,@VISITOR_MODIFIEDON)
END
答案 0 :(得分:0)
因为您没有传递过程中定义的所有参数。它会抛出异常。
在这里,我已将null
分配给您未指定的其他参数根据您的要求分配值
ALTER PROCEDURE [dbo].[INSERT_VISITOR]
@VISITOR_NAME NVARCHAR(30),
@VISITOR_CONTACT NVARCHAR(10),
@VISITOR_ADDRESS NVARCHAR(40),
@VISITOR_AGE NVARCHAR(2),
@VISITOR_VEHICLENO NVARCHAR(20),
@VISITOR_IMAGE IMAGE = null,
@VISITOR_CREATEDBY NVARCHAR(20) = null,
@VISITOR_CREDTEDON NVARCHAR(20) = null,
@VISITOR_MODIFIEDBY NVARCHAR(20) = null,
@VISITOR_MODIFIEDON NVARCHAR(20) = null
-- rest of code
答案 1 :(得分:0)
您的过程中有@VISITOR_IMAGE,@VISITOR_CREATEDBY,@VISITOR_CREDTEDON,@VISITOR_MODIFIEDBY,@VISITOR_MODIFIEDON
个参数,但您没有将值传递给上述参数。要么将值传递给所有参数,要么允许空值
BEGIN
set @VISITOR_IMAGE = null,
set @VISITOR_CREATEDBY = null,
set @VISITOR_CREDTEDON = null,
set @VISITOR_MODIFIEDBY = null,
set @VISITOR_MODIFIEDON = null
........