将数据插入数据库表时出错

时间:2016-07-09 15:02:53

标签: c# sql-server database

当我将数据插入数据库表时,只有数据的第一个字母插入数据库的列中。

以下是数据库表:

enter image description here

对于员工ID:102,仅插入数据的第一个字母。这是Database Table Schema使用的。

我在Visual Studio社区2015中使用C#,在我的项目中使用SQL Server Studio Management Studio。

using System;
using System.Configuration;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TimeSheetApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string connection = ConfigurationManager.ConnectionStrings["TimeSheetAppDbConnectionString"].ToString();
            var dbcontext = new TimeSheetAppDesignDataContext(connection);

            int EmployeeID = 102;
            string EmployeeName = "Riyas", EmployeeEmailAddress = "riyas@gmail.com", EmployeeLocation = "SriLanka";
            dbcontext.insertEmployee(EmployeeID, EmployeeName, EmployeeEmailAddress, EmployeeLocation);

            Console.WriteLine("Data inserted successfully");
            Console.ReadLine();
        }
    }
}

任何人都可以帮我解决此错误。

1 个答案:

答案 0 :(得分:2)

您正确传递数据,数据库结构正确。找到错误的最后一条线索是检查过程insertEmployee,错误在过程中,最有可能在参数类型中。

检查该过程的参数定义。如果您在未指定长度的情况下使用NVARCHAR,那么数据将被截断为单个字符,因为NVARCHAR的默认值为NVARCHAR(1)