ToB企服应用市场:ToB评测及商务社交产业平台

标题: C#实现与数据库的链接 [打印本页]

作者: 王柳    时间: 2024-8-24 15:35
标题: C#实现与数据库的链接
首先,确保你的项目中已经安装了SQL Server等客户端库(如System.Data.SqlClient)。


目次
一.代码演示
二.操作解说
三.轻易出现的错误




一.代码演示


  1. using Sunny.UI;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO.Ports;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using System.Windows.Forms.DataVisualization.Charting;
  13. namespace 环境监控
  14. {
  15.     public partial class Form1 : UIForm
  16.     {
  17.         private SerialPort serialPort;
  18.         private int temp;
  19.         private int hum;
  20.         private int led;
  21.         private int xCount = 1;
  22.         private textEntities3 testEntities;
  23.         public Form1()
  24.         {
  25.             InitializeComponent();
  26.         }
  27.         private void Form1_Load(object sender, EventArgs e)
  28.         {
  29.             serialPort = new SerialPort();
  30.             serialPort.BaudRate = 115200;
  31.             serialPort.DataReceived += MySerialPortReceive;
  32.             this.uiComboBoxSerial.SelectedIndex = 0;
  33.             this.chart1.Series.Add("温度");
  34.             chart1.Series["温度"].ChartType = SeriesChartType.Spline;
  35.             testEntities = new textEntities3();
  36.         }
  37.         private void MySerialPortReceive(object sender, SerialDataReceivedEventArgs e)
  38.         {
  39.             byte[] data = new byte[5];
  40.             int count = serialPort.Read(data, 0, 5);
  41.             if (count != 5)
  42.             {
  43.                 return;
  44.             }
  45.             if (data[0] != 0x55 || data[4] != 0xaa)
  46.             {
  47.                 return;
  48.             }
  49.             temp = data[1];
  50.             hum = data[2];
  51.             led = data[3];
  52.             sensor sensor = new sensor();
  53.             sensor.temp = temp;
  54.             sensor.hump = hum;
  55.             sensor.time = DateTime.Now.ToLocalTime();
  56.             testEntities.AddTosensor(sensor);
  57.             testEntities.SaveChanges();
  58.             this.Invoke(new Action(() => {
  59.                 this.uiTextBoxTemp.Text = temp.ToString();
  60.                 this.uiTextBoxHum.Text = hum.ToString();
  61.                 if (led == 0)
  62.                 {
  63.                     this.pictureBox1.Image = Properties.Resources.ledOff;
  64.                 }
  65.                 else
  66.                 {
  67.                     this.pictureBox1.Image = Properties.Resources.ledON;
  68.                 }
  69.                 xCount++;
  70.                 if (chart1.Series["温度"].Points.Count >= 20)
  71.                 {
  72.                     chart1.Series.Add("温度").Points.RemoveAt(0);
  73.                 }
  74.                 chart1.Series["温度"].Points.RemoveAt(0);
  75.                 xCount++;
  76.                 if (chart1.Series["湿度"].Points.Count >= 20)
  77.                 {
  78.                     chart1.Series.Add("湿度").Points.RemoveAt(0);
  79.                 }
  80.                 chart1.Series["湿度"].Points.RemoveAt(0);
  81.                 chart1.Invalidate();
  82.             }));
  83.         }
  84.         private void uiButtonOpenSerial_Click(object sender, EventArgs e)
  85.         {
  86.             if (serialPort != null)
  87.             {
  88.                 if (serialPort.IsOpen != true)
  89.                 {
  90.                     //Console.WriteLine(this.uiComboBoxSerial.SelectedItem.ToString());
  91.                     serialPort.PortName = this.uiComboBoxSerial.SelectedItem.ToString();
  92.                     serialPort.Open();
  93.                 }
  94.             }
  95.         }
  96.         private void uiButtonCloseSerial_Click(object sender, EventArgs e)
  97.         {
  98.             if (serialPort != null)
  99.             {
  100.                 serialPort.Close();
  101.             }
  102.         }
  103.     }
  104. }
复制代码

这是部门代码,具体操作有一部门是连接数据库是实现的,下面是如何连接数据库的演示

二.操作解说

1.打开SQL Server客户端

连接数据库之后创建一个表


这边是应为已经有了所以直接右键设置他的值,没有的话在表那右键创建一个表 ,之后就能创建他的表在设计哪里设计它的名字和设计它的浮点型等,从而更好实现自己的设计。

下面是c#中如何连接数据库的展示,在项目那边右键点击增长类函数如下图:


点击增长类后进入增长的界面,增长下面这个

 之后的界面中点击下一步


选择自己的数据库如我这里就是text,之后在选择自己创建的表




成功导入数据库后


之后就能在上读取自己设置的数据内容

三.轻易出现的错误

在C#中实现与数据库的连接以支持环境监控时,可能会碰到多种错误。以下是一些常见的错误及其缘故原由:
要办理这些题目,通常必要检查连接字符串、网络设置、数据库权限、驱动安装和版本、代码逻辑、超时设置、加密和安全性设置以及数据库版本兼容性等方面。此外,利用日志记录和非常处置惩罚来捕捉和记录错误信息也黑白常紧张的,这有助于快速定位和办理题目。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4