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
}
}