利用vc++中的ado创建access数据库,为数据库创建表,其中每个表中都有nvarchar型字段,不是说nvarchar(n)中n最大值可以取4000吗?为什么我的程序中nvarchar()中括号内最大值只能取到255呢?超过255就弹出错误,真的很不解。求达人指教!下面是部分sql语句
CREATE TABLE Points (
   ID integer IDENTITY (1,1) not null ,
   点名 nvarchar(255) null , 
   X坐标 float Default 0 not null ,
   Y坐标 float Default 0 not null ,
   Z坐标 float Default 0 not null 
  );CREATE TABLE Lines (
   ID integer IDENTITY (1,1) not null ,
   直线名 nvarchar(255) null ,
   矢量I float Default 0 not null ,
   矢量J float Default 0 not null ,
   矢量K float Default 0 not null ,
   X坐标 float Default 0 not null ,
   Y坐标 float Default 0 not null ,
   Z坐标 float Default 0 not null ,
   拟合误差 float Default 0 not null ,
   拟合元素 nvarchar(250) not null
 );

解决方案 »

  1.   

    ACCESS ?  不是SQL?  SQL重启下服务看!
      

  2.   

    --#1. access最大是255,否则用备注类型
    --#2. sql server 2000 varchar(8000), nvarchar(4000) max:8000
    --#3. sql server 2005 varchar(max), nvarchar(max) max:2G
      

  3.   

    CREATE TABLE Points (
      ID integer IDENTITY (1,1) not null ,
      点名 nvarchar(259) null ,  
      X坐标 float Default 0 not null ,
      Y坐标 float Default 0 not null ,
      Z坐标 float Default 0 not null  
      );我执行了,没报错啊,我的sqlserver2000,据说能到4000的(中文字符)