nvarchar值'3410122878898'的转换溢出了一个int列
此值'3410122878898'与进入 67784 时的当前值无关。但是'3410122878898'是我在同一张表中的最后一行。这对我来说实际上很奇怪,因为我的表的数据类型如下:
[v_id] BIGINT IDENTITY (1, 1) NOT NULL,
[cnic] NVARCHAR (20) NOT NULL,
[name] NVARCHAR (25) NOT NULL,
[Gender] NCHAR (10) NULL,
[Address] NVARCHAR (100) NULL,
[email] NVARCHAR (40) NULL,
[mob_no] NVARCHAR (20) NULL,
[employer] NVARCHAR (5) NOT NULL,
[mnl_reg_chk] INT NOT NULL,
[black_lst_chk] INT NOT NULL,
CONSTRAINT [PK_visitor_1] PRIMARY KEY CLUSTERED ([v_id] ASC),
CONSTRAINT [unique_cnic] UNIQUE NONCLUSTERED ([cnic] ASC),
CONSTRAINT [FK_visitor_visitor_company] FOREIGN KEY ([employer]) REFERENCES [dbo].[visitor_company] ([comp_id])
cnic附近唯一的int是第一列id是主键,也是自动增量。
这是我抛出异常的代码:
String L_query = "Select COUNT(cnic) from visitor where visitor.cnic=" + cnic;
command = connection.CreateCommand();
command.CommandText = L_query;
String count = command.ExecuteScalar().ToString();
上面的行 String count = ... 的执行是我首先提到的异常发生的地方。请帮我解决这个问题!我尽我所知解释了问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果3410122878898
是字符串,则需要使用引号。
String L_query =
string.Format("Select COUNT(cnic) from visitor where visitor.cnic='{0}'", cnic);