存储过程:
CREATE PROCEDURE [insert_studentInfo]
(@ID [varchar](10),
 @Name [varchar](50),
 @Age  [int],
 @Sex [char](2),
 @Dept [varchar](20))AS INSERT INTO [student].[dbo].[studentInfo] 
 ( [studentID],
 [studentName],
 [studentAge],
 [studentSex],
 [studentDept]) 
 
VALUES 
( @ID,
 @Name,
 @Age,
 @Sex,
 @Dept)
GO其中 studentID 是主键,我在用delphi录入数据的时候,studentID 不能包含字母,只能用数字。
其他的比如studentName,studentDept 都可以用字母录入。
为什么studentID 不能用字母呢?这个就不明白了,难道是delphi在数据转换的时候有什么特别的地方?
有哪位高人能解答下,在下不胜感激!

解决方案 »

  1.   

    请注意你的表结构当中对studentID的字义。
      

  2.   

    晕哦!
    我的studentID在表中的结构也是varchar!
    所以我才不明白的!
      

  3.   

    我是先从Edit中取得数据转换成String再通过存储过程向数据库录入数据!
    其他的比如studentDept 就可以用字母!
    难道是因为StudentID是主键关系?
      

  4.   

    我刚才试了一下把 studentID的主键给取消了,然后再从新输入字母的时候就可以了!
    郁闷哦!
    还真的跟主键有关系。
    有没有知道是什么原因的,麻烦告诉偶下!