11.23系统参数

using System;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Drawing;

namespace SnacksInventorySystem
{
    public partial class FormSystemParameters : Form
    {
        private List<SystemParameter> systemParameters;

        public FormSystemParameters()
        {
            InitializeComponent();
            InitializeUI();
            LoadSystemParameters();
        }

        private void InitializeUI()
        {
            // 设置窗口标题
            Text = "系统参数设置";
            // 设置窗口大小
            Width = 600;
            Height = 400;
            // 设置窗口起始位置为屏幕中央
            StartPosition = FormStartPosition.CenterScreen;

            // 创建用于显示系统参数列表的DataGridView(可根据实际需求添加更多列显示详细信息)
            dataGridViewParameters = new DataGridView();
            dataGridViewParameters.Location = new Point(20, 20);
            dataGridViewParameters.Width = 560;
            dataGridViewParameters.Height = 250;
            dataGridViewParameters.Columns.Add("ParameterName", "参数名称");
            dataGridViewParameters.Columns.Add("ParameterValue", "参数值");
            dataGridViewParameters.Columns["ParameterValue"].ReadOnly = false;

            // 创建保存参数修改的按钮
            Button buttonSave = new Button();
            buttonSave.Text = "保存";
            buttonSave.Location = new Point(20, 300);
            buttonSave.Click += buttonSave_Click;

            // 将各控件添加到系统参数设置窗口
            Controls.Add(dataGridViewParameters);
            Controls.Add(buttonSave);
        }

        private void LoadSystemParameters()
        {
            systemParameters = new List<SystemParameter>();
            string connectionString = "Data Source=LAPTOP-ODQTAPDG\\MSSQLSERVER01;Initial Catalog=SnacksInventoryDB;User ID=root;Password=123456";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string query = "SELECT Parameter_name, Parameter_value FROM system_parameters";
                SqlCommand command = new SqlCommand(query, connection);
                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        string parameterName = reader["Parameter_name"].ToString();
                        string parameterValue = reader["Parameter_value"].ToString();
                        systemParameters.Add(new SystemParameter(parameterName, parameterValue));
                    }
                    reader.Close();
                    BindDataToGridView();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("加载系统参数出错:" + ex.Message);
                }
            }
        }

        private void BindDataToGridView()
        {
            dataGridViewParameters.Rows.Clear();
            foreach (SystemParameter parameter in systemParameters)
            {
                dataGridViewParameters.Rows.Add(parameter.Name, parameter.Value);
            }
        }

        private void buttonSave_Click(object sender, EventArgs e)
        {
            string connectionString = "Data Source=LAPTOP-ODQTAPDG\\MSSQLSERVER01;Initial Catalog=SnacksInventoryDB;User ID=root;Password=123456";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                for (int i = 0; i < dataGridViewParameters.Rows.Count; i++)
                {
                    string parameterName = dataGridViewParameters.Rows[i].Cells["ParameterName"].Value.ToString();
                    string parameterValue = dataGridViewParameters.Rows[i].Cells["ParameterValue"].Value.ToString();
                    string query = "UPDATE system_parameters SET Parameter_value = @ParameterValue WHERE Parameter_name = @ParameterName";
                    SqlCommand command = new SqlCommand(query, connection);
                    command.Parameters.AddWithValue("@ParameterValue", parameterValue);
                    command.Parameters.AddWithValue("@ParameterName", parameterName);
                    try
                    {
                        connection.Open();
                        command.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show($"更新参数 {parameterName} 出错:" + ex.Message);
                    }
                }
                MessageBox.Show("系统参数保存成功!");
                LoadSystemParameters();
            }
        }

        private class SystemParameter
        {
            public string Name { get; set; }
            public string Value { get; set; }

            public SystemParameter(string name, string value)
            {
                Name = name;
                Value = value;
            }
        }

        private DataGridView dataGridViewParameters;

        private void FormSystemParameters_Load(object sender, EventArgs e)
        {
            // 在这里添加系统参数设置页面加载时要执行的代码逻辑
            // 例如,从数据库加载系统参数数据并显示在界面上(假设存在名为dataGridViewParameters的DataGridView控件用于展示参数)
            string connectionString = "Data Source=LAPTOP-ODQTAPDG\\MSSQLSERVER01;Initial Catalog=SnacksInventoryDB;User ID=root;Password=123456";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string query = "SELECT Parameter_name, Parameter_value FROM system_parameters";
                SqlCommand command = new SqlCommand(query, connection);
                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        string parameterName = reader["Parameter_name"].ToString();
                        string parameterValue = reader["Parameter_value"].ToString();
                        // 往DataGridView中添加数据行(需根据实际情况调整列索引等,这里假设两列分别为0和1)
                        dataGridViewParameters.Rows.Add(parameterName, parameterValue);
                    }
                    reader.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("加载系统参数出错:" + ex.Message);
                }
            }
        }

      
    }
}
namespace SnacksInventorySystem
{
    partial class FormSystemParameters
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(600, 400);
            this.IsMdiContainer = false;
            this.MainMenuStrip = null;
            this.Name = "FormSystemParameters";
            this.Text = "系统参数设置";
            this.Load += new System.EventHandler(this.FormSystemParameters_Load);
        }

        #endregion
    }
}

 

posted @ 2025-01-02 15:58  jais  阅读(22)  评论(0)    收藏  举报