简体   繁体   English

使用存储过程将数据插入SQL Server

[英]Inserting data into SQL Server by using a stored procedure

I have a problem while inserting records into SQL Server. 将记录插入SQL Server时出现问题。

The string from C# doesn't show up in SQL Server as I'm inserting the sql just insert the first char 当我插入sql时,仅插入第一个字符,C#的字符串就不会出现在SQL Server中

Example: If I insert 22222 in the data base just the first 2 inserted 示例:如果我在数据库中插入22222,则仅插入前2个

Note I'm using a stored procedure for my first time. 注意我是第一次使用存储过程。

This is my code: 这是我的代码:

public void insert_workshop(DateTime Pdate, string PTime, string PDesc, byte[] Img)
{
        SqlCommand cmd = new SqlCommand("[InsertWorkShops]", conn);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("@WorkshopsDate", SqlDbType.Date).Value = Pdate;
        cmd.Parameters.Add("@Time", SqlDbType.NVarChar).Value = PTime;
        cmd.Parameters.Add("@WorkshopsDescription", SqlDbType.NVarChar).Value = PDesc;
        cmd.Parameters.Add("@WorkshopsImage", SqlDbType.Image).Value = Img;
        cmd.Parameters.Add("@CreatedBy", SqlDbType.NVarChar).Value = 1;

        try
        {
            cmd.ExecuteNonQuery();
            Msg = "Add Done ";
        }
        catch
        {
            Msg = "Error While Adding";
        }

        WorkShopTransactions Ws = new WorkShopTransactions();
        Ws.insert_workshop(WorkShopDT.Value, txtWorshopTime.Text.ToString(),
                          txtWorkshopDescriptions.Text.ToString(), img);

T-SQL: T-SQL:

ALTER PROCEDURE [dbo].[InsertWorkShops] 
    @WorkshopsDate date,
    @Time nvarchar, 
    @WorkshopsDescription nvarchar,
    @WorkshopsImage image,
    @CreatedBy int
AS
BEGIN
    SET NOCOUNT ON;

    insert into Workshops 
    values(@WorkshopsDate, @Time, @WorkshopsDescription, @WorkshopsImage, @CreatedBy)
END

In the stored procedure, you have declared your nvarchar parameters without a length. 在存储过程中,您声明的nvarchar参数没有长度。 They default to nvarchar(1) . 它们默认为nvarchar(1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 SQL Server –在存储过程中使用动态查询提取用户数据 - SQL Server – pulling user data using dynamic query in stored procedure 无法使用存储过程从 SQL Server 检索数据 - Cannot retrieve data from SQL Server using Stored Procedure 如何使用存储过程将数据快速插入SQL Server - How to insert data quickly into SQL Server using a stored procedure 如何使用存储过程从 SQL Server 获取数据 - How to get data from SQL Server using a stored procedure 启用使用存储过程将数据插入SQL Server的功能 - Enable to insert data into SQL Server using a stored procedure 使用存储过程从SQL Server返回数据 - Return data from SQL Server using Stored Procedure 使用SQL Server数据库和ASP.NET应用程序中的存储过程在多个表中插入记录 - Inserting records in multiple tables using stored procedure in SQL Server database and ASP.NET application 如何解决此错误“将数据类型nvarchar转换为float”。 使用存储过程在sql中插入记录时 - How to solve this error ' converting data type nvarchar to float.' while inserting a record in sql using stored procedure 从 SQL 服务器存储过程插入 DB2 数据库成功,但使用实体框架包装相同的过程失败 - Inserting into DB2 database from SQL Server stored procedure succeeds, but wrapping the same procedure using Entity Framework fails SQL Server存储过程可插入所选数据 - SQL Server Stored Procedure to insert selected data
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM