我有一个链接到ASP.NET成员资格架构中的另一个表的表。无法在字段为Guid的情况下插入null(SqlDataSource中的对象)
问题是,ASP.NET表的所有PK都是uniqueidentifier,所以我也必须这样做。当我添加一个SqlDatasource并调用它的Insert()方法时,出现以下错误:
无法将NULL值插入'DiscountCode'列'CreamDb.dbo.CustomInfo1'列;列不允许有空值。 INSERT失败。 该声明已被终止。
uniqueidentifier也被视为一个对象(它的数据类型),但没有Guid数据类型。我之前有过这个问题,但是架构要简单得多,所以我可以修复它。
我该如何解决这个问题?如果我摆脱标记中的数据类型部分(所以只留下字段/参数名称而不是数据类型的东西),我得到另一个错误,所以这是不可能的。
感谢
嗨, 我的意思是在标记(aspx)中没有要使用的Guid数据类型。只有对象存在。您可以通过添加一个在表上执行CRUD的SQL数据源来尝试此操作,然后检查标记并查看参数的数据类型的智能感知。 – dotnetdev 2009-04-09 13:56:54
这不是C#的问题,它纯粹是.NET。我不应该写任何自定义代码,因为sqldatasource应该为我处理繁重的工作。 – dotnetdev 2009-04-09 13:58:25
好吧,在我看来,SqlDataSource为你做了很多繁重的工作,而且你只需编写一小段代码在创建新行时填写正确的值。 (我对SqlDataSource没有太多经验,但应该很容易。) – 2009-04-09 14:05:56