C#操作SqlServer数据库

php中文网
发布: 2016-06-07 15:34:42
原创
1432人浏览过

前几天刚拿到毕业证,昨天开始到公司报到,又开始了上班生涯

前几天刚拿到毕业证,昨天开始到公司报到,又开始了上班生涯啊。几多欢喜几多愁。从今以后,就再也不是一个学生啦,唉,好好工作吧。

今天经理要我写个小程序把文本文件里面的数据导入数据库里面,因为数据量比较大,只能写程序往里面读啦.

因为涉及到操作SQLServer数据库,以往没用过,现在来试一下。给大家分享一下.

using System.Data.SqlClient;
登录后复制


需要引入这个命名空间.

以下是怎样连接数据库及创建表

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数据库,都可以照这样来。

     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()函数很有用,可以去掉字符串头部和尾部的空格部分,在与数据库操作相关的地方,必须要求字符串很精细,一点马虎不得,所以这个函数就很有用。

 

                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类型

Notion AI
Notion AI

Notion是一款集成了笔记、知识库、数据表格、看板、日历等多种能力于一体的应用程序,它既可供个人使用,也可以与他人进行跨平台协作。

Notion AI 157
查看详情 Notion AI

我是在我旁边一位来公司几年的同事的帮助下才把这个问题解决的。

对了,另外字符类型的要加单引号,这个地方很容易出错

csdn 不给力啊,写个博客麻烦死啦,代码不知道怎么显示不了,坑爹得很,以后去博客园得了.

 

 

 

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号