C# 根据uniqueidentifier操作数据库要怎么处理,请教!

sinomac 2014-07-10 03:30:50

下面是我的存储过程:
USE [PrintPMIS]
GO
/****** Object: StoredProcedure [dbo].[SPM_SYS_BusinessSub_Insert] Script Date: 02/01/2014 15:19:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER proc [dbo].[PRO_PorjectDetail_Updata]
@_Porjectid uniqueidentifier--ID
,@_PorjectNum nvarchar(100)--工单编号

With ENCRYPTION --加密码存储过程

as
BEGIN
SET XACT_ABORT on--当出现错误回滚事务
Begin tran
----------------
UPDATE Pro_PorjectDetail
Set
PorjectNum=@_PorjectNum--工单编号
WHERE
id=@_Porjectid--编号

commit tran
SET XACT_ABORT off
END


下面是C#代码:
 //操作 数据库
SqlConnection sqlcon = new SqlConnection(MainForm.pMainWin.FormatConStr());//连接数据库
sqlcon.Open();
SqlCommand sqlcmd = new SqlCommand("PRO_PorjectDetail_Updata", sqlcon);
sqlcmd.CommandType = CommandType.StoredProcedure;

sqlcmd.Parameters.Add("@_Porjectid", SqlDbType.NVarChar).Value = DetailInfo.PorjectId;//编号用GUID和string都不行
sqlcmd.Parameters.Add("@_PorjectNum", SqlDbType.NVarChar).Value = DetailInfo.PorjectNum;//工单编号

sqlcmd.ExecuteNonQuery();
sqlcon.Close();
...全文
280 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
霜寒月冷 2014-07-10
  • 打赏
  • 举报
回复
c# 里面的 Guid.NewGuid() 和 uniqueidentifier 类型是对应的。你也可以把那个传值 DetailInfo.PorjectId 换成 Guid.NewGuid() 试试
sinomac 2014-07-10
  • 打赏
  • 举报
回复
实际数据表里,ID这一列用的是uniqueidentifier字段哦。今晚回去试一下。谢谢。!
霜寒月冷 2014-07-10
  • 打赏
  • 举报
回复
@_Porjectid uniqueidentifier 改成 @_Porjectid nvarchar(100) sqlcmd.Parameters.Add("@_Porjectid", SqlDbType.NVarChar).Value = DetailInfo.PorjectId.ToString();
sinomac 2014-07-10
  • 打赏
  • 举报
回复
这个存储过程是用来修改单条记录的,我想用创建记录时用NEWID()生成的一个字段做为唯一性uniqueidentifier字段。修改时根据这个字段做修改这条记录。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧