如何解决:将字符串转换为 uniqueidentifier 时出现语法错误
2006-07-04 17:57
691 查看
项目编译时出现以下错误:
将字符串转换为 uniqueidentifier 时出现语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 将字符串转换为 uniqueidentifier 时出现语法错误。
源错误:
行 110:FDataSet = new DataSet();
行 111:if (init_sql.Length>0)
行 112:FDataAdapter.Fill(FDataSet);
行 113:
行 114:}
究其原因,得出以下结论:
是由于参数类型和数据库字段类型不一致造成的,数据库字段类型是uniqueidentifier ,而程序中参数类型是string,需要转换,转换方法:
string guid=System.Guid.NewGuid().ToString();//或System.Guid.Empty.ToString();
System.Guid g=new Guid(guid);//给数据库字段赋值时转换为guid类型
或者不要定义成string类型的,直接定义成guid类型的,如
把
public static readonly string ZeroUniqueID="{00000000-0000-0000-0000-000000000000}";// 代表一个不存在的编号
改为
public static readonly Guid ZeroUniqueID=System.Guid.Empty;// 代表一个不存在的编号
这样就可以直接给数据库字段赋值了,不用做任何的转换。
将字符串转换为 uniqueidentifier 时出现语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 将字符串转换为 uniqueidentifier 时出现语法错误。
源错误:
行 110:FDataSet = new DataSet();
行 111:if (init_sql.Length>0)
行 112:FDataAdapter.Fill(FDataSet);
行 113:
行 114:}
究其原因,得出以下结论:
是由于参数类型和数据库字段类型不一致造成的,数据库字段类型是uniqueidentifier ,而程序中参数类型是string,需要转换,转换方法:
string guid=System.Guid.NewGuid().ToString();//或System.Guid.Empty.ToString();
System.Guid g=new Guid(guid);//给数据库字段赋值时转换为guid类型
或者不要定义成string类型的,直接定义成guid类型的,如
把
public static readonly string ZeroUniqueID="{00000000-0000-0000-0000-000000000000}";// 代表一个不存在的编号
改为
public static readonly Guid ZeroUniqueID=System.Guid.Empty;// 代表一个不存在的编号
这样就可以直接给数据库字段赋值了,不用做任何的转换。
相关文章推荐
- 如何解决sql server2008:将字符串转换为 uniqueidentifier 时出现语法错误
- 如何解决:将字符串转换为 uniqueidentifier 时出现语法错误 (转载)
- SQL server 从字符串转换为 datetime 时发生语法错误 的解决方法
- 调用opencv时,使用Egien工具出现“error C2061: 语法错误: 标识符“Matrix””和“error C2653: “Eigen”:不是类或命名空间名称”该如何解决?
- 解决sqoop报错:SQLServerException: 将字符串转换为 uniqueidentifier 时失败。
- 应用程序提示:从字符串转换为datetime时发生语法错误的解决办法
- 从字符串转换为 datetime 时发生语法错误
- 如何解决FTP上传文件时出现的"Access is denied"错误?
- win10开机出现关键错误“开始菜单和Cortana无法工作”该如何解决?
- 如何解决AJAX中跨域访问出现'没有权限'的错误
- 如何解决VBA出现Automation Error 错误
- DB2在导入数据时,如果数据量过大,出现事务日志满的错误(Database transaction log is full)该如何解决,commitcount使用
- DDK 出现:error C4335: 检测到 Mac 文件格式: 请将源文件转换为 DOS 格式或 UNIX 格式,这是如何弄的?如何解决?
- 关于 “不允许从数据类型 sql_variant 到 uniqueidentifier 的隐式转换。请使用 CONVERT 函数来运行此查询“的最终解决
- 错误编译如何解决apktool d -d 出现错误Error occured while disassembling class
- javascript中出现identifier starts immediately after numeric literal错误原因以及解决方法
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- C#新手入门代码 使用readline时不输入而是敲击回车,之后用convert转换类型出现错误的解决代码
- python处理字符串时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 使用OleDbCommandBuilder时出现“Insert into 语句的语法错误”的解决方法