我的数据库是 Acess,修改新闻内容方法
public string UpdateNews(string Title, string Content, string BigClassID, string SmallClassID, string FirstImageName, string User, string Ok, string id)
{
string return_str = "ok";
AccessDataSource AcsDs1 = Cn1.Create_AcsDataSource();
AcsDs1.UpdateCommand = "UPDATE [News] SET [Title]=@Title,[Content]=@Content,[BigClassID]=@BigClassID,[SmallClassID]=@SmallClassID,[FirstImageName]=@FirstImageName,[User]=@User,[Ok]=@Ok WHERE [id]=@id";
AcsDs1.UpdateParameters.Add("Title", TypeCode.String, Title);
AcsDs1.UpdateParameters.Add("Content", TypeCode.String, Content);
AcsDs1.UpdateParameters.Add("BigClassID", TypeCode.String, BigClassID);
AcsDs1.UpdateParameters.Add("SmallClassID", TypeCode.String, SmallClassID);
AcsDs1.UpdateParameters.Add("FirstImageName", TypeCode.String, FirstImageName);
AcsDs1.UpdateParameters.Add("User", TypeCode.String, User);
AcsDs1.UpdateParameters.Add("Ok", TypeCode.Boolean, Ok);
AcsDs1.UpdateParameters.Add("id", TypeCode.Int32, id);
try
{
AcsDs1.Update();
}
catch (Exception Ex1)
{
return_str = Ex1.Message;
}
return return_str;
}修改类别的方法
public string UpdateBigClassById(string BigClassID, string BigClassName)
{
string return_str = "ok";
AccessDataSource AcsDs1 = Cn1.Create_AcsDataSource();
AcsDs1.UpdateCommand = "UPDATE [BigClass] SET [BigClassName]=@BigClassName WHERE [BigClassID]=@BigClassID";
AcsDs1.UpdateParameters.Add("BigClassID", TypeCode.Int32, BigClassID);
AcsDs1.UpdateParameters.Add("BigClassName", TypeCode.String, BigClassName);
try
{
AcsDs1.Update();
}
catch (Exception Ex1)
{
return_str = Ex1.Message;
}
return return_str;
}但是新闻能修改,类别就修改不成功,哪都没有报错,数据都传入了,还有好多方法也修改不成功都是这样写的,应该是哪的错啊,我是在是不知道
public string UpdateNews(string Title, string Content, string BigClassID, string SmallClassID, string FirstImageName, string User, string Ok, string id)
{
string return_str = "ok";
AccessDataSource AcsDs1 = Cn1.Create_AcsDataSource();
AcsDs1.UpdateCommand = "UPDATE [News] SET [Title]=@Title,[Content]=@Content,[BigClassID]=@BigClassID,[SmallClassID]=@SmallClassID,[FirstImageName]=@FirstImageName,[User]=@User,[Ok]=@Ok WHERE [id]=@id";
AcsDs1.UpdateParameters.Add("Title", TypeCode.String, Title);
AcsDs1.UpdateParameters.Add("Content", TypeCode.String, Content);
AcsDs1.UpdateParameters.Add("BigClassID", TypeCode.String, BigClassID);
AcsDs1.UpdateParameters.Add("SmallClassID", TypeCode.String, SmallClassID);
AcsDs1.UpdateParameters.Add("FirstImageName", TypeCode.String, FirstImageName);
AcsDs1.UpdateParameters.Add("User", TypeCode.String, User);
AcsDs1.UpdateParameters.Add("Ok", TypeCode.Boolean, Ok);
AcsDs1.UpdateParameters.Add("id", TypeCode.Int32, id);
try
{
AcsDs1.Update();
}
catch (Exception Ex1)
{
return_str = Ex1.Message;
}
return return_str;
}修改类别的方法
public string UpdateBigClassById(string BigClassID, string BigClassName)
{
string return_str = "ok";
AccessDataSource AcsDs1 = Cn1.Create_AcsDataSource();
AcsDs1.UpdateCommand = "UPDATE [BigClass] SET [BigClassName]=@BigClassName WHERE [BigClassID]=@BigClassID";
AcsDs1.UpdateParameters.Add("BigClassID", TypeCode.Int32, BigClassID);
AcsDs1.UpdateParameters.Add("BigClassName", TypeCode.String, BigClassName);
try
{
AcsDs1.Update();
}
catch (Exception Ex1)
{
return_str = Ex1.Message;
}
return return_str;
}但是新闻能修改,类别就修改不成功,哪都没有报错,数据都传入了,还有好多方法也修改不成功都是这样写的,应该是哪的错啊,我是在是不知道
不过写成更新语句时,变量不用其他方法括起来吗UPDATE [News] SET [Title]=@Title,[Content]=@Content,[BigClassID]=@BigClassID,[SmallClassID]=@SmallClassID,[FirstImageName]=@FirstImageName,[User]=@User,[Ok]=@Ok WHERE [id]=@id"C#中STRING类型变量会这样表示: '"+TEXTBOX.TEXT+"'
否则不会更新
{
if (!IsPostBack)
{
//加载文章
}
}
AcsDs1.UpdateCommand = "UPDATE [BigClass] SET [BigClassName]=@BigClassName WHERE [BigClassID]=@BigClassID";
中的BigClassID传入的是int类型了,拼接字符串,
但是为什么新闻中修改可以成功
AcsDs1.UpdateParameters.Add("BigClassName", TypeCode.String, BigClassName);
AcsDs1.UpdateParameters.Add("BigClassID", TypeCode.Int32, BigClassID);
改成这样试一下
AcsDs1.UpdateParameters.Add("@Title", TypeCode.String, Title);