因為涉及到操作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