日期:2014-05-18  浏览次数:21052 次

数据库记录添加——用数组变量给字段赋值,并添加到数据库中
我想做一个简单的资料入库程序,需要把数组中的数据添加到数据库中。有多个数组,这里只列4个来说明问题。
  数据表:tb_hourdata
  数据表字段:时间(datetime),站点(char(5)),气温(folat),降水(folat)
 
C# code
代码中用于存储数据的数组://数组根据读取的资料数动态定义 数组维数用num记录。
        datatime[] riqi;//日期,必填项
        string[] SID; //站点,必填项
        folat[] T,R; //气温、降水 数据库中可以为空 
        //由于有时气温、降水没有数据,这时给对应时次的缺数据赋值为9999,因为folat 类型不能赋值为空。
        //现在需要的是:将数组中的记录加入数据库中。
        //在数据库中对于缺测的气温、降水字段应赋值为空,因为数据库可以为空。数组赋值9999只是暂时的。
        //现在不知道,怎么利用数组变量来添加记录。。。。。



------解决方案--------------------
C# code

            datatime[] riqi;
            string[] SID;
            folat[] T,R;//假设数据已经有了,并且数组长度相同

            string connstr = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;";//连接字符串根据实际情况修改
            string sql = string.Empty;
            SqlConnection con = new SqlConnection(connstr);
            SqlCommand com = new SqlCommand();

            con.Open();

            com.Connection = con;
            
            for(int i=0;i<riqi.Length;i++)
            {
                sql = "insert into tb_hourdata (时间,站点,气温,降水) values('" + riqi[i].ToString() + "','" + SID[i] + "','" + T[i] + "," + R[i] + ")";
                com.CommandText = sql;
                com.ExecuteNonQuery();
            }
            con.Close();

------解决方案--------------------
还是强烈建议楼主把你的数组合并为一个吧,要不然这样很有可能张冠李戴的呢。