天天看點

c# SQL SERVER 資料寫入

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data.SqlClient;

using System.Diagnostics;

using System.Threading;

using System.IO;

using System.Data;

using System.ComponentModel;

using System.Drawing;

using System.Collections;

using System.Web;

namespace LinkSqlInsert

{

    class Program

    {

        static string[] KeyValue = { "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL","NULL","NULL","NULL","NULL","NULL" };

        static string[] Smple = { "SN", "LineBody", "JobNumber", "Product_Name", "Bios_Config_File", "Bios_Date", "Bios_PN", "Bios_Version", "CardName", "ClockGpu", "ClockMem", "MemSize", "Dangrading", "SERVER", "DATABASE", "UID", "PWD", "StoredProcedure" };

        static int Main(string[] args)

        {

            if (ReadConfigInfo("config.ini")==false)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine("Read Config.ini File Err!!");

                Console.ResetColor();

                return 1;

            }

            int n = 0;

            //foreach(string ss in Smple)

            for (; n <= 12;n++ )//讀取log資訊

            {

                KeyValue[n] = ReadString(Smple[n]).Trim();

            }

            for (n = 13; n <= 17;n++ )//讀取資料庫配置資訊

            {

                KeyValue[n] = Smple[n];

            }

            KeyValue[n] = "OK";

            KeyValue[n + 1] = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

            bool WriteDataResult=false;

            WriteDataResult=FullSqlData(KeyValue);

            if (WriteDataResult==false&&nn==0)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine("Connection Sql Server DataBases Err!!");

                Console.ResetColor();

                return 1;

            }

            else if(WriteDataResult==false&&nn==1)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine("The SN bar code already exists in the database.");

                Console.ResetColor();

                return 1;

            }

            Console.ForegroundColor = ConsoleColor.Green;

            Console.WriteLine("The test data is successfully written to the database.");

            Console.ResetColor();

            return 0;

        }

        static int nn = 0;

        static bool FullSqlData(string []Key)

        {

            bool Flag = false;

            try

            {

                //SqlConnection conn=new SqlConnection("server=192.167.10.6;database=E_GPUWIN;uid=sa;pwd=adminsystem");

                SqlConnection conn = new SqlConnection("server="+Key[13]+";database="+Key[14]+";uid="+Key[15]+";pwd="+Key[16]);

                conn.Open();

                if(conn.State!=ConnectionState.Open)

                {

                    Flag = false;

                    return Flag;

                }

                //SqlCommand cmd = new SqlCommand("usp_InsertGPUWINDATA",conn);

                SqlCommand cmd = new SqlCommand(Key[17], conn);

                cmd.CommandType = CommandType.StoredProcedure;//啟動儲存存過程參數

                cmd.Parameters.Add("@SN",Key[0].Trim());

                cmd.Parameters.Add("@LineBody",Key[1].Trim());

                cmd.Parameters.Add("@JobNumber",Key[2].Trim());

                cmd.Parameters.Add("@Product_Name",Key[3].Trim());

                cmd.Parameters.Add("@Bios_Config_File",Key[4].Trim());

                cmd.Parameters.Add("@Bios_Date",Key[5].Trim());

                cmd.Parameters.Add("@Bios_PN",Key[6].Trim());

                cmd.Parameters.Add("@Bios_VerSion",Key[7].Trim());

                cmd.Parameters.Add("@CardName",Key[8].Trim());

                cmd.Parameters.Add("@ClockGpu",Key[9].Trim());

                cmd.Parameters.Add("@ClockMem",Key[10].Trim());

                cmd.Parameters.Add("@MemSize",Key[11].Trim());

                cmd.Parameters.Add("@Dargrading",Key[12].Trim());

                cmd.Parameters.Add("@State",Key[18].Trim());

                cmd.Parameters.Add("@Date_Time",Key[19].Trim());

                cmd.Parameters.Add("@rs",1);//添加T-SQL存儲過程參數

                cmd.Parameters["@rs"].Direction = ParameterDirection.Output;//啟動輸出傳回

                cmd.ExecuteScalar();

                if ((int)cmd.Parameters["@rs"].Value == 0 )

                {

                    conn.Close();

                    Flag = true;

                }

                else if((int)cmd.Parameters["@rs"].Value == 1)

                {

                    conn.Close();

                    nn = 1;

                    Flag = false;

                }

            }

            catch(Exception ex)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Flag = false;

                Console.WriteLine(ex.Message);

                Console.ResetColor();

                return Flag;

            }

            return Flag;

        }

        static string ReadString(string PathName)//讀取字元串

        {

            string Temp = string.Empty;

            try

            {

                FileStream fs = new FileStream(PathName, FileMode.Open, FileAccess.Read);

                StreamReader sr = new StreamReader(fs,Encoding.Default);

                Temp = sr.ReadLine().Trim();

                fs.Close();

                sr.Close();

            }

            catch(Exception ex)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine(ex.Message);

                Console.ResetColor();

                Temp=null;

                return Temp;

            }

            return Temp;

        }

        static bool ReadConfigInfo(string CfgName) //讀取配置資訊

        {

            bool Flag = false;

            try

            {

                FileStream fs = new FileStream(CfgName, FileMode.Open, FileAccess.Read);

                StreamReader sr = new StreamReader(fs, Encoding.Default);

                string Temp = string.Empty;

                while((Temp=sr.ReadLine())!=null)

                {

                    string[] Array = Temp.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);

                    int n = 0;

                    foreach(string str in Smple)

                    {

                        if(str==Array[0].Trim())

                        {

                            Smple[n] = Array[1].Trim();

                            break;

                        }

                        n++;

                    }

                }

                sr.Close();

                fs.Close();

                Flag = true;

            }

            catch (Exception ex)

            {

                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine(ex.Message);

                Console.ResetColor();

                Flag = false;

                return Flag;

            }

            return Flag;

        }

    }

}