程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#操作SqlServer數據庫

C#操作SqlServer數據庫

編輯:C#入門知識

因為涉及到操作SQLServer數據庫,以往沒用過,現在來試一下。給大家分享一下.

[csharp]
using System.Data.SqlClient; 

需要引入這個命名空間.

以下是怎樣連接數據庫及創建表

[csharp] 
string connString = "server=192.168.1.85;database=橋梁監測;uid=sa;pwd=123456"; 
            SqlConnection sqlConnection = new SqlConnection(connString); 
            sqlConnection.Open(); 
            string sql = "CREATE TABLE s4" + 
                "(GPSIndex bigint primary key,aDatetime datetime,X float,Y float,Height float," 
                + "dltaX float,dltaY float,dltaH float)"; 
            SqlCommand cmd = new SqlCommand(sql, sqlConnection); 
            cmd.ExecuteNonQuery(); 

server 對應的是數據庫的ip地址,以後大家要連接SqlServer數據庫,都可以照這樣來。

[csharp]
FileStream aFile = new FileStream("Station_8008_Ay.txt", FileMode.Open); 
       StreamReader sr = new StreamReader(aFile); 
       strLine = sr.ReadLine(); 
        while (strLine != null) 
       { 
           string[] str = strLine.Split(' '); 
           int i = 0; 
         //  double X1 = 0, Y1 = 0;//如果數據超長就得選用double  
           float X1 = 0, Y1 = 0; 
           float Height1=0; 
           foreach (string strtest in str) 
           { 
                
               if (strtest.Trim() != "")//Trim()去除字符串頭部和尾部的空格部分 
               {                
                   if (i > 1) 
                   { 
                       if (i == 2) 
                       { X1 = float.Parse(strtest);  } 
                       if (i == 3) 
                       { Y1 = float.Parse(strtest); } 
                       if (i == 4) 
                       { Height1 = float.Parse(strtest); } 
                   } 
                   i++; 
               } 
           } 
 

上面也是我今天寫的代碼,從這次動手中,學到了許多,希望多積累一下

  string.Trim()函數很有用,可以去掉字符串頭部和尾部的空格部分,在與數據庫操作相關的地方,必須要求字符串很精細,一點馬虎不得,所以這個函數就很有用。

 

[csharp] 
  DateTime dt = System.DateTime.Now; 
  Int64 milliseconds = (Int64)(System.DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds + System.DateTime.Now.Millisecond; 
  string sql1 = "INSERT INTO s4(GPSIndex,aDatetime,X,Y,Height,dltaX,dltaY,dltaH)" 
      + "VALUES(" + milliseconds.ToString() 
      + "," + "'" + dt.ToString("yyyy-MM-dd hh:mm:ss") 
      +"'"  
      + ","  
      + X1.ToString() 
      +"," 
      +Y1.ToString() 
      +","+Height1.ToString() 
      +",0,0,0)"; 
//MessageBox.Show(sql1); 
  cmd = new SqlCommand(sql1, sqlConnection); 
  cmd.ExecuteNonQuery(); 
  strLine = sr.ReadLine(); 
  Thread.Sleep(1000); 
 

在插入時間的時候,千萬直接這樣-- dt.toStirng() 這樣肯定報錯,這樣數據庫無法將 字符串轉化為datetime類型

我是在我旁邊一位來公司幾年的同事的幫助下才把這個問題解決的。

對了,另外字符類型的要加單引號,這個地方很容易出錯

作者:guoyilongedu

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved