首页 > 解决方案 > 如何获取数据到文本框 C#

问题描述

我需要你帮助我有存储过程,它返回最后一个 CustomerID + 1 :像这样

Create PROCEDURE [dbo].[Get_Last_Customer]

as

begin

Select IsNull(MAX (CustomerID),0) +1 From CustomersTbl


End

现在在项目中,我有一个名为 DataAccessLayer 的类,它具有以下功能:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace Test.Data_Layer
{
    class DataAccessLayer
    {
        SqlConnection sqlconnection;

        public DataAccessLayer()
        {
            sqlconnection = new SqlConnection(ConfigurationManager.ConnectionStrings["connSQLServer"].ConnectionString);
        }

        //Method To Open Connection
        public void Open()
        {
            if (sqlconnection.State != ConnectionState.Open)
            {
                sqlconnection.Open();
            }
        }

        //Method To Close Connection
        public void Close()
        {
            if (sqlconnection.State == ConnectionState.Open)
            {
                sqlconnection.Close();
            }
        }
        //Method To Read Data From Database
        public DataTable SelectData(string stored_procedure, SqlParameter[] param)
        {
            SqlCommand sqlcmd = new SqlCommand();
            sqlcmd.CommandType = CommandType.StoredProcedure;
            sqlcmd.CommandText = stored_procedure;
            sqlcmd.Connection = sqlconnection;
            if(param !=null)
            {
                sqlcmd.Parameters.AddRange(param);
            }
            SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        //Method To Insert , Update And Delete From Database ( You Need To Open And Close The Connection )
        public void ExecuteCommand(string stored_procedure, SqlParameter[] param)
        {
            SqlCommand sqlcmd = new SqlCommand();
            sqlcmd.CommandType = CommandType.StoredProcedure;
            sqlcmd.CommandText = stored_procedure;
            sqlcmd.Connection = sqlconnection;
            if (param != null)
            {
                sqlcmd.Parameters.AddRange(param);
            }
            sqlcmd.ExecuteNonQuery();
        }

    }
}

所以我在业务层中创建了名为 CLS_GetLastRecord 的类,它具有以下代码:

using System.Data.SqlClient;
using System.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test.Business_Layer
{
    class CLS_GetLastRecord
    {
        public DataTable GetLastRecord()
        {
            Data_Layer.DataAccessLayer DAL = new Data_Layer.DataAccessLayer();
            DataTable Dt = new DataTable();
            Dt = DAL.SelectData("Get_Last_Customer", null);
            DAL.Close();
            return Dt;
        }

    }
}

好的,现在是调用此函数到表单的最后一步所以我使用文本框创建表单:在加载操作时,我输入此代码以获取 customerid + 1 的最后一个数字,但它不起作用:(

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;

namespace Test.PL
{
    public partial class FrmGetLastRecord : Form
    {
        Business_Layer.CLS_GetLastRecord GetLastRecord = new Business_Layer.CLS_GetLastRecord();

        public FrmGetLastRecord()
        {
            InitializeComponent();
        }
        private void FrmGetLastRecord_Load(object sender, EventArgs e)
        {
            textBox1.Text = GetLastRecord.GetLastRecord().ToString();
        }
    }
}

任何想法如何处理它?

标签: c#.netwindowsvisual-studio-2017

解决方案


推荐阅读