吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1088|回复: 1
收起左侧

[求助] C# 窗体 急急急 通过一个ID号可以同时向数据库中插入多条不一致的数据

[复制链接]
17607550499 发表于 2021-3-18 19:56
我现在想做一个小程序,用户通过扫描一个物品的ID号,在数据库添加一条记录。
但是,现在要求多人同时扫描这一个物品的ID号向数据库中添加长短不一致的多条数据,
而且已经存在的就不能插入了!在插入时先判断存在就更新,不存在就添加。单一条的我会!
多条数据不会啊!求大神指点!
如下:


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.Collections;
using Microsoft.VisualBasic;
using System.Data.SqlClient;

namespace RS_扫描
{
    public partial class Form2 : Form
    {
        SQlHelper db = new SQlHelper();
        public Form2()
        {
            //初始化窗体基本信息
            InitializeComponent();
        }
        private void Form2_Load(object sender, System.EventArgs e)
        {
            //窗体第一次被初始化。(窗体标题/窗体大小/是否允许最大化,最小化)
            select();
        }
        public void select()
        {
            //SqlConnection con = new SqlConnection("server=.;database=rs;uid=sa;pwd=eslrsdata");
            ////将连接打开
            //con.Open();
            ////执行con对象的函数,返回一个SqlCommand类型的对象
            //SqlDataAdapter sda = new SqlDataAdapter("select * from rsdat order by id desc", con);
            //DataSet ds = new DataSet();
            //sda.Fill(ds);
            //dataGridView1.DataSource = ds.Tables[0];
            string sql = "select * from rsdat order by id desc";
            DataTable dt = db.ExcuteQuery("SqlServer", sql);
            dataGridView1.DataSource = dt;

            System.Drawing.Font font = new System.Drawing.Font("UTF-8", 7);//UTF-8是字体的编码格式,2是字体大小
            dataGridView1.Font = font;//此时dataGridView的字体就已经设置完成
            int width = 0;
            for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
            {
                //将每一列都调整为自动适应模式
                this.dataGridView1.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
                //记录整个DataGridView的宽度
                width += this.dataGridView1.Columns.Width;
            }
            //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
            //则将DataGridView的列自动调整模式设置为显示的列即可,
            //如果是小于原来设定的宽度,将模式改为填充。
            if (width > this.dataGridView1.Size.Width)
            {
                this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
            }
            else
            {
                this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            }
            dataGridView1.Columns[0].Width = 35;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string mcs = textBox1.Text;
            string jsmds = textBox2.Text;
            string sgmcs = textBox3.Text;
            string sgs = textBox4.Text;
            string dyxmcs = textBox5.Text;
            string dyxs = textBox6.Text;
            string umdmcs = textBox7.Text;
            string umds = textBox8.Text;
            string zmdmcs = textBox9.Text;
            string zmds = textBox10.Text;
            List<Priview> index = new List<Priview>();
            if (textBox1.Text.Trim() != "")
            {
                index.Add(new Priview { column = "mc", columnValue = textBox1.Text });
                if (textBox2.Text.Trim() != "")
                {
                    index.Add(new Priview { column = "jsmd", columnValue = textBox2.Text });
                }
                else if (textBox4.Text.Trim() != "")
                {
                    index.Add(new Priview { column = "sg", columnValue = textBox4.Text });
                }
                else if (textBox6.Text.Trim() != "")
                {
                    index.Add(new Priview { column = "dyx", columnValue = textBox6.Text });
                }
                else if (textBox8.Text.Trim() != "")
                {
                    index.Add(new Priview { column = "umd", columnValue = textBox8.Text });
                }
                else if (textBox10.Text.Trim() != "")
                {
                    index.Add(new Priview { column = "zmd", columnValue = textBox10.Text });
                }
            }
            string columns = string.Empty;
            string columnValues = string.Empty;
            foreach (var item in index)
            {
                columns += item.column + ",";
                columnValues += "\'" + item.columnValue + "\',";
            }
            //去掉字符串的最后一个逗号
            columns = columns.TrimEnd(',');
            columnValues = columnValues.TrimEnd(',');
            //insert into rsdat(mc,jsmd) values('','');
            string sql = "insert into rsdat(" + columns + ") values(" + columnValues + ")";
            bool num = db.ExcuteSql("SqlServer", sql);
            if (num)
            {
                MessageBox.Show("添加成功");
            }
            else
            {
                MessageBox.Show("添加失败");
            }
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
            textBox8.Text = "";
            textBox9.Text = "";
            textBox10.Text = "";
            select();
            //con.Close();
        }
        public class Priview
        {
            public string column { get; set; }
            public string columnValue { get; set; }
        }

        //清空文本框内容
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
            textBox8.Text = "";
            textBox9.Text = "";
            textBox10.Text = "";
            select();
        }

        //查询MC号的值并将数据库的值赋值给其他文本框
        private void button3_Click(object sender, System.EventArgs e)
        {
            string mcs = textBox1.Text;
            string jsmds = textBox2.Text;
            string sgmcs = textBox3.Text;
            string sgs = textBox4.Text;
            string dyxmcs = textBox5.Text;
            string dyxs = textBox6.Text;
            string umdmcs = textBox7.Text;
            string umds = textBox8.Text;
            string zmdmcs = textBox9.Text;
            string zmds = textBox10.Text;
            #region
            //SqlConnection con = new SqlConnection("server=.;database=rs;uid=sa;pwd=eslrsdata");
            //con.Open();
            //SqlDataAdapter sda = new SqlDataAdapter("select * from rsdat where mc='" + mcs + "'", con);
            //DataSet ds = new DataSet();
            //sda.Fill(ds);
            //dataGridView1.DataSource = ds.Tables[0];
            ////赋值
            //textBox1.Text = ds.Tables[0].Rows[0]["mc"].ToString();
            //textBox2.Text = ds.Tables[0].Rows[0]["jsmd"].ToString();
            //textBox3.Text = ds.Tables[0].Rows[0]["sgmc"].ToString();
            //textBox4.Text = ds.Tables[0].Rows[0]["sg"].ToString();
            //textBox5.Text = ds.Tables[0].Rows[0]["dyxmc"].ToString();
            //textBox6.Text = ds.Tables[0].Rows[0]["dyx"].ToString();
            //textBox7.Text = ds.Tables[0].Rows[0]["umdmc"].ToString();
            //textBox8.Text = ds.Tables[0].Rows[0]["umd"].ToString();
            //textBox9.Text = ds.Tables[0].Rows[0]["zmdmc"].ToString();
            //textBox10.Text = ds.Tables[0].Rows[0]["zmd"].ToString();
            //con.Close();
            #endregion
            string sql = "select * from rsdat where mc='" + mcs + "'";
            DataTable dt = db.ExcuteQuery("SqlServer", sql);
            dataGridView1.DataSource = dt;
            textBox1.Text = dt.Rows[0]["mc"].ToString();
            textBox2.Text = dt.Rows[0]["jsmd"].ToString();
            textBox3.Text = dt.Rows[0]["sgmc"].ToString();
            textBox4.Text = dt.Rows[0]["sg"].ToString();
            textBox5.Text = dt.Rows[0]["dyxmc"].ToString();
            textBox6.Text = dt.Rows[0]["dyx"].ToString();
            textBox7.Text = dt.Rows[0]["umdmc"].ToString();
            textBox8.Text = dt.Rows[0]["umd"].ToString();
            textBox9.Text = dt.Rows[0]["zmdmc"].ToString();
            textBox10.Text = dt.Rows[0]["zmd"].ToString();
            textBox1.Focus();
            if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "" || textBox6.Text == "" || textBox7.Text == "" || textBox8.Text == "" || textBox9.Text == "" || textBox10.Text == "")
            {
                MessageBox.Show("信息不能为空,请输入正确的值", "提示");
                return;
            }
        }

        private void textBox1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (textBox1.Text != "")
                {
                    string sql = "select * from rsdat where mc = '" + textBox1.Text + "'";
                    DataTable dt = db.ExcuteQuery("SqlServer", sql);
                    if (dt.Rows.Count > 0)
                    {
                        textBox1.Text = dt.Rows[0]["mc"].ToString();
                        textBox2.Text = dt.Rows[0]["jsmd"].ToString();
                        textBox3.Text = dt.Rows[0]["sgmc"].ToString();
                        textBox4.Text = dt.Rows[0]["sg"].ToString();
                        textBox5.Text = dt.Rows[0]["dyxmc"].ToString();
                        textBox6.Text = dt.Rows[0]["dyx"].ToString();
                        textBox7.Text = dt.Rows[0]["umdmc"].ToString();
                        textBox8.Text = dt.Rows[0]["umd"].ToString();
                        textBox9.Text = dt.Rows[0]["zmdmc"].ToString();
                        textBox10.Text = dt.Rows[0]["zmd"].ToString();
                        textBox1.Focus();
                    }
                    else
                    {
                        string mcs = textBox1.Text;
                        textBox2.Focus();
                    }
                }

            }
        }

    }
}

小程序窗体

小程序窗体

小程序窗体

小程序窗体
获.PNG
获.PNG

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

QQ78347924 发表于 2021-3-18 22:35
在玩看来您就是大神了,你发的东西我看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-17 03:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表