数据库插入数据并返回id

i08kingdom 2016-10-04 03:07:12
我的数据表id数据类型为uniqueidentifier,自动生成id
请问我怎么插入数据后并返回id值呢?
我在网上查了资料
改写后的代码为

SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["qds177479644_dbConnectionString"].ConnectionString);
//String insertStr = String.Format("insert into NoodleShopInfo([Userid],[类别],[面坊所在地],[适宜人数],[面坊简介],[推广]) values('{0}','{1}','{2}','{3}','{4}','{5}')", Session["Userid"].ToString(), "求购", 省份DropDownList.SelectedItem.Text, 适宜人数TextBox.Text,面坊简介TextBox.Text, 推广CheckBox.Checked);
String insertStr = String.Format("insert into NoodleShopInfo([Userid],[类别],[面坊所在地],[适宜人数],[面坊简介],[推广]) values('{0}','{1}','{2}','{3}','{4}','{5}') SELECT @@IDENTITY", Session["Userid"].ToString(), "求购", 省份DropDownList.SelectedItem.Text, 适宜人数TextBox.Text, 面坊简介TextBox.Text, 推广CheckBox.Checked);
SqlCommand cmd = new SqlCommand(insertStr, con);
try
{
con.Open();
//if(cmd.ExecuteNonQuery()>0)
// Response.Redirect("~/Account/MyRelease");
Response.Write("Id:"+cmd.ExecuteScalar().ToString());
}
catch (Exception ERR)
{
Response.Write(ERR.Message.ToString());
}
finally
{
con.Close();
}
...全文
708 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
software_artisan 2016-10-08
  • 打赏
  • 举报
回复
既然是GUID,不妨在代码里面生成好了一起写到数据库就是,何必多此一举要等数据库来生成呢? 如果非要如此,那么你的表就必须还要有一个自增列,才能根据自增列来反查ID。
qlzcaoming 2016-10-08
  • 打赏
  • 举报
回复
就是你插入了一条数据,想获得这条数据的ID对吗? insert into 表名 values('值') select @@identity 这样就行了
insus 2016-10-06
  • 打赏
  • 举报
回复
a365477312 2016-10-05
  • 打赏
  • 举报
回复
select @@identity;要加入这个才会返回的
tongxuejie 2016-10-05
  • 打赏
  • 举报
回复
代码生成GUID再插入uniqueidentifier字段 获得插入数据ID这种方法 不知道你需不需要关心作用域
i08kingdom 2016-10-05
  • 打赏
  • 举报
回复
查看了很多资料,然后自己弄了个测试表 原来 SELECT @@IDENTITY AS Id或者 SELECT @@IDENTITY 返回的id必须是数据类型为int的自增列才行 uniqueidentifier数据类型的不行 求大神
i08kingdom 2016-10-05
  • 打赏
  • 举报
回复
protected void Release_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["qds177479644_dbConnectionString"].ConnectionString); //String insertStr = String.Format("insert into NoodleShopInfo([Userid],[类别],[面坊所在地],[适宜人数],[面坊简介],[推广]) values('{0}','{1}','{2}','{3}','{4}','{5}')", Session["Userid"].ToString(), "求购", 省份DropDownList.SelectedItem.Text, 适宜人数TextBox.Text,面坊简介TextBox.Text, 推广CheckBox.Checked); String insertStr = "insert into NoodleShopInfo([Userid],[类别],[面坊所在地],[适宜人数],[面坊简介],[推广]) values('" + Session["Userid"].ToString() + "','求购','" + 省份DropDownList.SelectedItem.Text + "','" + 适宜人数TextBox.Text + "','" + 面坊简介TextBox.Text + "','" + 推广CheckBox.Checked + "') SELECT @@IDENTITY AS Id"; SqlCommand cmd = new SqlCommand(insertStr, con); try { con.Open(); //if(cmd.ExecuteNonQuery()>0) //Response.Redirect("~/Account/MyRelease"); Response.Write("id: " + cmd.ExecuteScalar().ToString()); } catch (Exception ERR) { Response.Write(ERR.Message.ToString()); } finally { con.Close(); } } 测试发现还是不行,并没有返回id值。哪位大神帮忙看看
soamu 2016-10-04
  • 打赏
  • 举报
回复
insert into (aa,bb) values (@aa,@bb);select @@identity;
i08kingdom 2016-10-04
  • 打赏
  • 举报
回复
我测试得到的结果是数据插入成功,但是没有返回值
i08kingdom 2016-10-04
  • 打赏
  • 举报
回复
加上 as id还是不行 请问执行什么方法得到这个值?
Poopaye 2016-10-04
  • 打赏
  • 举报
回复
@@IDENTITY AS XXX

62,074

社区成员

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

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

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

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