我需要在表中找到最大的ID (prim键),获得值&使用它插入一个新的行在我的表-需要使用datasource1.Sel
本文关键字:插入 datasource1 Sel 我的 一个 ID prim | 更新日期: 2023-09-27 18:17:45
c# MSSql:我需要在我的表中找到最大的ID(主键),获取值并使用它在我的表中插入新行。我需要使用datasource1.SelectCommand。我试过sqlCommand,但那不起作用。下面是我目前编写的代码:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Windows.Input;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Project
{
public partial class ListProperty : System.Web.UI.Page
{
//Other code here (Page_LOad, Dropdown list, etc)
protected void OnButtnClick(object sender, EventArgs e)
{
string sqlProc1 = "SELECT row from PROPERTY ORDER BY Id DESC Limit 1";
//SqlDataAdapter MxID = new SqlDataAdapter(sqlProc1,SqlDataSource1.SqlCacheDependency);
//SqlDataSource1.SelectCommand = sqlProc1;
//SqlConnection sqlConnection1 = new SqlConnection();
EntityDataSource cmd = new EntityDataSource();
//SqlCommand cmd = new SqlCommand();
Object returnValue;
cmd.CommandText = sqlProc1;
//cmd.CommandType = System.Data.CommandType.Text;
//cmd.Connection = sqlConnection1;
//sqlConnection1.Open();
returnValue = cmd.CommandText;
//sqlConnection1.Close();
Object MxID = returnValue;
MxID.ToString();
int MxIDint = (Int32)MxID + 1;
String strMxID = MxIDint.ToString();
sqlProc1 = "INSERT INTO PROPERTY(ID,Property_ID,Type_ID,Coordinates) VALUES(" + strMxID + ",'1','1','0.')";
SqlDataSource1.SelectCommand = sqlProc1;
//GridView1.DataBind(); //generates error
}
}
}
请帮忙!
使用这个SQL查询:
select MAX(id) from PROPERTY;
queryResult = dbContext.Database
.SqlQuery<int>("SELECT Max(Id) from PROPERTY ")
.Single();
查看更多细节:获取标量值
我通过使用Joe的建议使Id键自增来解决这个问题。但我得自己想办法。我以前试过,但我再试一次,它成功了。