Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows窗体中使用新行ID填充文本框_C#_Sql_Winforms - Fatal编程技术网

C# 如何在windows窗体中使用新行ID填充文本框

C# 如何在windows窗体中使用新行ID填充文本框,c#,sql,winforms,C#,Sql,Winforms,我正在创建一个windows窗体,目前正在创建“创建成员”窗体 现在我想向输入数据的用户显示新成员ID是什么。所以我想尝试在文本框中显示新行ID。因此,如果我们以下面的示例为例,当表单加载时,新成员ID应该显示在文本框中 我在下面尝试过,但从sqlCommand中获取结果有困难。或者也许我做这件事的方式不对哈 有人能看到我如何在加载时应用id吗 private void frmAddMember_Load(object sender, EventArgs e) {

我正在创建一个windows窗体,目前正在创建“创建成员”窗体

现在我想向输入数据的用户显示新成员ID是什么。所以我想尝试在文本框中显示新行ID。因此,如果我们以下面的示例为例,当表单加载时,新成员ID应该显示在文本框中

我在下面尝试过,但从sqlCommand中获取结果有困难。或者也许我做这件事的方式不对哈

有人能看到我如何在加载时应用id吗

    private void frmAddMember_Load(object sender, EventArgs e)
    {
        using (var connection = new SqlConnection(Properties.Settings.Default.BioEngineeringDB))
        {
            connection.Open();
            using (var cmd = new SqlCommand("SELECT * FROM Users WHERE UserID=(SELECT MAX(UserID) FROM Users", connection))
            {
                //cmd.Parameters.Add("@MYVALUE", SqlDbType.VarChar).Value = comboBox1.Text;
                SqlDataReader re = cmd.ExecuteReader();

                if (re.Read())
                {
                    txtMemberId.Text = // result from the SQLCommand but i dont know how to get it

您可以通过使用列名称索引
DataReader
来访问当前行单元格,如
txtMemberId.Text=thisReader[“UserID”]//在这里,您应该执行增量
。但老实说,以
selectmax(Id)+1
的方式生成
Id
是很奇怪的,
GUIDs
nad
Autoinc integer
在我们的时代更常用

您的
MAX+1
应该如下所示:

private void frmAddMember_Load(object sender, EventArgs e)
    {
        using (var connection = new SqlConnection(Properties.Settings.Default.BioEngineeringDB))
        {
            connection.Open();
            using (var cmd = new SqlCommand("SELECT (COALESCE(MAX(UserID), 0) + 1) as UserID FROM Users", connection))
            {
                SqlDataReader re = cmd.ExecuteReader();

                if (re.Read())
                {
                    txtMemberId.Text = re["UserID"].ToString();

您可以通过使用列名称索引
DataReader
来访问当前行单元格,如
txtMemberId.Text=thisReader[“UserID”]//在这里,您应该执行增量
。但老实说,以
selectmax(Id)+1
的方式生成
Id
是很奇怪的,
GUIDs
nad
Autoinc integer
在我们的时代更常用

您的
MAX+1
应该如下所示:

private void frmAddMember_Load(object sender, EventArgs e)
    {
        using (var connection = new SqlConnection(Properties.Settings.Default.BioEngineeringDB))
        {
            connection.Open();
            using (var cmd = new SqlCommand("SELECT (COALESCE(MAX(UserID), 0) + 1) as UserID FROM Users", connection))
            {
                SqlDataReader re = cmd.ExecuteReader();

                if (re.Read())
                {
                    txtMemberId.Text = re["UserID"].ToString();

您可以通过使用列名称索引
DataReader
来访问当前行单元格,如
txtMemberId.Text=thisReader[“UserID”]//在这里,您应该执行增量
。但老实说,以
selectmax(Id)+1
的方式生成
Id
是很奇怪的,
GUIDs
nad
Autoinc integer
在我们的时代更常用

您的
MAX+1
应该如下所示:

private void frmAddMember_Load(object sender, EventArgs e)
    {
        using (var connection = new SqlConnection(Properties.Settings.Default.BioEngineeringDB))
        {
            connection.Open();
            using (var cmd = new SqlCommand("SELECT (COALESCE(MAX(UserID), 0) + 1) as UserID FROM Users", connection))
            {
                SqlDataReader re = cmd.ExecuteReader();

                if (re.Read())
                {
                    txtMemberId.Text = re["UserID"].ToString();

您可以通过使用列名称索引
DataReader
来访问当前行单元格,如
txtMemberId.Text=thisReader[“UserID”]//在这里,您应该执行增量
。但老实说,以
selectmax(Id)+1
的方式生成
Id
是很奇怪的,
GUIDs
nad
Autoinc integer
在我们的时代更常用

您的
MAX+1
应该如下所示:

private void frmAddMember_Load(object sender, EventArgs e)
    {
        using (var connection = new SqlConnection(Properties.Settings.Default.BioEngineeringDB))
        {
            connection.Open();
            using (var cmd = new SqlCommand("SELECT (COALESCE(MAX(UserID), 0) + 1) as UserID FROM Users", connection))
            {
                SqlDataReader re = cmd.ExecuteReader();

                if (re.Read())
                {
                    txtMemberId.Text = re["UserID"].ToString();

删除autoinc id列,改为添加guid id列。然后,您可以使用Guid.NewGuid().ToString()在客户机上生成Id

删除autoinc Id列并添加Guid Id列。然后,您可以使用Guid.NewGuid().ToString()在客户机上生成Id

删除autoinc Id列并添加Guid Id列。然后,您可以使用Guid.NewGuid().ToString()在客户机上生成Id

删除autoinc Id列并添加Guid Id列。然后,您可以使用Guid.NewGuid().ToString()在客户机上生成Id

假设您的Id列是由数据库生成的(自动递增等)。创建记录时只需获取Id即可

var cmd = new SqlCommand("INSERT INTO User(FirstName) VALUES('bob')");
var id = (int) cmd.ExecuteScalar();
txtMemberId.Text = id.ToString();

假设您的ID列是由数据库生成的(自动递增等),那么在创建记录时只需获取ID即可

var cmd = new SqlCommand("INSERT INTO User(FirstName) VALUES('bob')");
var id = (int) cmd.ExecuteScalar();
txtMemberId.Text = id.ToString();

假设您的ID列是由数据库生成的(自动递增等),那么在创建记录时只需获取ID即可

var cmd = new SqlCommand("INSERT INTO User(FirstName) VALUES('bob')");
var id = (int) cmd.ExecuteScalar();
txtMemberId.Text = id.ToString();

假设您的ID列是由数据库生成的(自动递增等),那么在创建记录时只需获取ID即可

var cmd = new SqlCommand("INSERT INTO User(FirstName) VALUES('bob')");
var id = (int) cmd.ExecuteScalar();
txtMemberId.Text = id.ToString();

我对你的工作流程有点困惑。因此:用户创建新成员->然后您想向他们显示新成员的id->所以您重新加载表单并尝试获取最后插入的id?@Jedediah更新了问题以显示我试图实现的目标我对您的工作流有点困惑。因此:用户创建新成员->然后您想向他们显示新成员的id->所以您重新加载表单并尝试获取最后插入的id?@Jedediah更新了问题以显示我试图实现的目标我对您的工作流有点困惑。因此:用户创建新成员->然后您想向他们显示新成员的id->所以您重新加载表单并尝试获取最后插入的id?@Jedediah更新了问题以显示我试图实现的目标我对您的工作流有点困惑。因此:用户创建新成员->然后您想向他们显示新成员的id->所以您重新加载表单并尝试获取最后插入的id?@Jedediah更新了问题,以显示我试图实现的目标完美@agent5566!另外,当你提到GUIDs和AutoInc时,说实话,我们在学校里做了一个小组项目,我留下了一个乱七八糟的数据库,直到周五才完成,因为没有其他人会打扰哈哈,所以这就是乱七八糟的原因,我将在未来花更多的时间为我自己的workperfect@agent5566设计!另外,当你提到GUIDs和AutoInc时,说实话,我们在学校里做了一个小组项目,我留下了一个乱七八糟的数据库,直到周五才完成,因为没有其他人会打扰哈哈,所以这就是乱七八糟的原因,我将在未来花更多的时间为我自己的workperfect@agent5566设计!另外,当你提到GUIDs和AutoInc时,说实话,我们在学校里做了一个小组项目,我留下了一个乱七八糟的数据库,直到周五才完成,因为没有其他人会打扰哈哈,所以这就是乱七八糟的原因,我将在未来花更多的时间为我自己的workperfect@agent5566设计!另外,正如你提到的GUIDs和AutoInc,说实话,我们正在学校做一个小组项目,我留下了一个乱七八糟的数据库,直到周五才能完成,因为没有其他人会打扰哈哈,所以这就是乱七八糟的原因,我以后会花更多的时间为我自己的工作设计