我有段程序:
SqlConnection conn = new SqlConnection(strConn);
string strSql = "insert into [文章]([编号],[标题],[类型],[路径],[内容],[作者],[所有者],[权限],[删除],[创建时间],[修改时间],[访问时间],[文章分类],[角色],[扩展]) ";
strSql += " values('@编号','@标题','类型','@路径','@内容','@作者','@所有者','@权限','@删除','@创建时间','@修改时间','@访问时间','@文章分类','@角色','@扩展')";
SqlCommand comm = new SqlCommand(strSql,conn);
comm.Parameters.Add("@编号", SqlDbType.UniqueIdentifier).Value = new Guid(System.Guid.NewGuid().ToString());
comm.Parameters.Add("@标题", SqlDbType.NVarChar, 255).Value = title;
comm.Parameters.Add("@类型", SqlDbType.NVarChar, 50).Value = Encode;
comm.Parameters.Add("@路径", SqlDbType.NVarChar, 50).Value = "/";
comm.Parameters.Add("@内容", SqlDbType.NVarChar).Value = content;
comm.Parameters.Add("@作者", SqlDbType.NVarChar, 255).Value = author;
comm.Parameters.Add("@所有者", SqlDbType.NVarChar, 255).Value = "loweek";
comm.Parameters.Add("@权限", SqlDbType.Int).Value = rights;
comm.Parameters.Add("@删除", SqlDbType.Int).Value = 0;
comm.Parameters.Add("@创建时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@修改时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@访问时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@文章分类", SqlDbType.Int).Value = tvArticleList.SelectedNode.Value;
comm.Parameters.Add("@角色", SqlDbType.NVarChar, 50).Value = "loweek";
string strMeta = "";
getMetas(divMeta,ref strMeta);
comm.Parameters.AddWithValue("@扩展", strMeta);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();执行的时候提示我“将字符串转换为 uniqueidentifier 时失败。”谁帮我看看什么问题?吃饭先!
SqlConnection conn = new SqlConnection(strConn);
string strSql = "insert into [文章]([编号],[标题],[类型],[路径],[内容],[作者],[所有者],[权限],[删除],[创建时间],[修改时间],[访问时间],[文章分类],[角色],[扩展]) ";
strSql += " values('@编号','@标题','类型','@路径','@内容','@作者','@所有者','@权限','@删除','@创建时间','@修改时间','@访问时间','@文章分类','@角色','@扩展')";
SqlCommand comm = new SqlCommand(strSql,conn);
comm.Parameters.Add("@编号", SqlDbType.UniqueIdentifier).Value = new Guid(System.Guid.NewGuid().ToString());
comm.Parameters.Add("@标题", SqlDbType.NVarChar, 255).Value = title;
comm.Parameters.Add("@类型", SqlDbType.NVarChar, 50).Value = Encode;
comm.Parameters.Add("@路径", SqlDbType.NVarChar, 50).Value = "/";
comm.Parameters.Add("@内容", SqlDbType.NVarChar).Value = content;
comm.Parameters.Add("@作者", SqlDbType.NVarChar, 255).Value = author;
comm.Parameters.Add("@所有者", SqlDbType.NVarChar, 255).Value = "loweek";
comm.Parameters.Add("@权限", SqlDbType.Int).Value = rights;
comm.Parameters.Add("@删除", SqlDbType.Int).Value = 0;
comm.Parameters.Add("@创建时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@修改时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@访问时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@文章分类", SqlDbType.Int).Value = tvArticleList.SelectedNode.Value;
comm.Parameters.Add("@角色", SqlDbType.NVarChar, 50).Value = "loweek";
string strMeta = "";
getMetas(divMeta,ref strMeta);
comm.Parameters.AddWithValue("@扩展", strMeta);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();执行的时候提示我“将字符串转换为 uniqueidentifier 时失败。”谁帮我看看什么问题?吃饭先!
楼主想要什么类型阿?如果要Guid 直接System.Guid.NewGuid();就行了
如果要String,System.Guid.NewGuid().ToString();就行了
comm.Parameters.Add("@标题", SqlDbType.NVarChar, 255).Value = title;
comm.Parameters.Add("@类型", SqlDbType.NVarChar, 50).Value = Encode;
comm.Parameters.Add("@路径", SqlDbType.NVarChar, 50).Value = "/";
comm.Parameters.Add("@内容", SqlDbType.NVarChar).Value = content;
comm.Parameters.Add("@作者", SqlDbType.NVarChar, 255).Value = author; //整合登录验证后,需要修改所有者为编辑者
comm.Parameters.Add("@所有者", SqlDbType.NVarChar, 255).Value = "loweek";
comm.Parameters.Add("@权限", SqlDbType.Int).Value = rights;
comm.Parameters.Add("@删除", SqlDbType.Int).Value = 0;
comm.Parameters.Add("@创建时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@修改时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@访问时间", SqlDbType.DateTime).Value = DateTime.Now;
comm.Parameters.Add("@文章分类", SqlDbType.Int).Value = tvArticleList.SelectedNode.Value;
comm.Parameters.Add("@角色", SqlDbType.NVarChar, 50).Value = "loweek";
string strMeta = "";
getMetas(divMeta,ref strMeta);
comm.Parameters.Add("@扩展", SqlDbType.NVarChar, 255).Value = strMeta;
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
还是一样
EXEC sp_executesql N'insert into [文章]([编号],[标题],[类型],[路径],[内容],[作者],[所有者],[权限],[删除],[创建时间],[修改时间],[访问时间],[文章分类],[角色],[扩展]) values(''@编号'',''@标题'',''类型'',''@路径'',''@内容'',''@作者'',''@所有者'',''@权限'',''@删除'',''@创建时间'',''@修改时间'',''@访问时间'',''@文章分类'',''@角色'',''@扩展'')',
N'@编号 uniqueidentifier,@标题 nvarchar(255),@类型 nvarchar(50),@路径 nvarchar(50),@内容 nvarchar(11),@作者 nvarchar(255),@所有者 nvarchar(255),@权限 int,@删除 int,@创建时间 datetime,@修改时间 datetime,@访问时间 datetime,@文章分类 int,@角色 nvarchar(50),@扩展 nvarchar(255)',
@编号 = '51BB7A03-35A4-46E9-9D4A-558C9DF5427E', @标题 = N'adfadfaf', @类型 = N'HTML', @路径 = N'/', @内容 = N'adfadfdaf
', @作者 = N'adfadf',
@所有者 = N'loweek', @权限 = 0, @删除 = 0, @创建时间 = '2008-10-20 16:57:20:173', @修改时间 = '2008-10-20 16:57:20:173',
@访问时间 = '2008-10-20 16:57:20:173', @文章分类 = 1, @角色 = N'loweek',
@扩展 = N'<meta name="图片">adfafds</meta><meta name="关键字">adfadfasfd</meta>'这是sql中截获的代码!
strSql += " values('@编号','@标题','类型','@路径','@内容','@作者','@所有者','@权限','@删除','@创建时间','@修改时间','@访问时间','@文章分类','@角色','@扩展')";类型前面少了个@符号!晕死,浪费我一个下午!