用Object数据源插入数据遇到问题

zilong4460072 2008-11-29 10:45:07
命名空间里的代码:
[DataObjectMethod(DataObjectMethodType.Insert)]
public static bool InsertGuest(out string name,string sex,string old,string numb,string call,string email)
{
string strconnection = ConfigurationManager.ConnectionStrings["123"].ConnectionString;
SqlConnection conn = new SqlConnection(strconnection);
string sql = "insert guest(name,sex,old,numb,call,email) values(@name,@sex,@old,@numb,@call,@email)";
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.Parameters.Add("@sex", SqlDbType.VarChar, 50).Value = sex;
cmd.Parameters.Add("@old", SqlDbType.VarChar, 50).Value = old;
cmd.Parameters.Add("@numb", SqlDbType.VarChar, 50).Value = numb;
cmd.Parameters.Add("@call", SqlDbType.VarChar, 50).Value = call;
cmd.Parameters.Add("@email", SqlDbType.VarChar, 50).Value = email;
SqlParameter p = new SqlParameter("@name",SqlDbType.VarChar,50);
p.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p);
try
{
conn.Open();
cmd.ExecuteNonQuery();
name = (string)p.Value;
}
catch
{
}
finally
{
conn.Close();
}
return true;

}
提示错误: return true; //编译器错误消息: CS0177: 控制离开当前方法之前必须对 out 参数“name”赋值


...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilong4460072 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mengxj85 的回复:]
try
{
conn.Open();
cmd.ExecuteNonQuery();
return name = (string)p.Value;
}
catch
{
}
finally
{
conn.Close();
}
return true;

[/Quote]

提示错误: return name = (string)p.Value;//编译器错误消息: CS0029: 无法将类型“string”隐式转换为“bool”
mengxj85 2008-11-29
  • 打赏
  • 举报
回复
try
{
conn.Open();
cmd.ExecuteNonQuery();
return name = (string)p.Value;
}
catch
{
}
finally
{
conn.Close();
}
return true;

zilong4460072 2008-11-29
  • 打赏
  • 举报
回复
protected void ObjectDataSource2_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{

ObjectDataSource2.SelectParameters["name"].DefaultValue = e.OutputParameters["name"].ToString();
gv.DataBind();
FormView1.DataBind();
}

要怎么改一下阿?
zilong4460072 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxl_sprots 的回复:]
public static bool InsertGuest(out string name,string sex,string old,string numb,string call,string email)
改成

C# code
public static bool InsertGuest(string name,string sex,string old,string numb,string call,string email)
{

}




你用这样的 你的是输出参数 所以你就直接可以return name 就可以了啊。。。
[/Quote]

那其他的代码要改吗?
lxl_sprots 2008-11-29
  • 打赏
  • 举报
回复
public static bool InsertGuest(out string name,string sex,string old,string numb,string call,string email)
改成

public static bool InsertGuest(string name,string sex,string old,string numb,string call,string email)
{

}


你用这样的 你的是输出参数 所以你就直接可以return name 就可以了啊。。。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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