public bool SqlUploadeInfo(string[] Column, Info InfoStruct) { string InsertStr = "insert into VehicleInfo ("; for (int iLoop = 0; iLoop < Column.Length - 1; ++iLoop) { InsertStr += Column[iLoop] + ","; } InsertStr += "信息更新者姓名) values ('"; InsertStr += InfoStruct.汽车ID + "','"; InsertStr += InfoStruct.车型 + "','"; InsertStr += InfoStruct.型号 + "','"; InsertStr += InfoStruct.品牌 + "',"; InsertStr += InfoStruct.年款 + ",'"; InsertStr += InfoStruct.厂商 + "','"; InsertStr += InfoStruct.级别 + "','"; InsertStr += InfoStruct.车身结构 + "',"; InsertStr += InfoStruct.长 + ","; InsertStr += InfoStruct.宽 + ","; InsertStr += InfoStruct.高 + ","; InsertStr += InfoStruct.最高车速 + ","; InsertStr += InfoStruct.百公里加速 + ","; InsertStr += InfoStruct.综合油耗 + ","; InsertStr += InfoStruct.最小离地间隙 + ","; InsertStr += InfoStruct.轴距 + ","; InsertStr += InfoStruct.前轮距 + ","; InsertStr += InfoStruct.后轮距 + ","; InsertStr += InfoStruct.整备质量 + ","; InsertStr += InfoStruct.车门数 + ","; InsertStr += InfoStruct.座位数 + ","; InsertStr += InfoStruct.行李厢容积 + ","; InsertStr += InfoStruct.排量 + ","; InsertStr += InfoStruct.最大马力 + ","; InsertStr += InfoStruct.最大功率 + ",'"; InsertStr += InfoStruct.前轮胎规格 + "','"; InsertStr += InfoStruct.后轮胎规格 + "','"; InsertStr += InfoStruct.电动天窗 + "','"; InsertStr += InfoStruct.全景天窗 + "','"; InsertStr += InfoStruct.运动外观套件 + "','"; InsertStr += InfoStruct.铝合金轮圈 + "','"; InsertStr += InfoStruct.电动吸合门 + "','"; InsertStr += InfoStruct.侧滑门 + "','"; InsertStr += InfoStruct.电动后备厢 + "','"; InsertStr += InfoStruct.感应后备厢 + "','"; InsertStr += InfoStruct.车顶行李架 + "','"; InsertStr += InfoStruct.外观颜色 + "','"; InsertStr += InfoStruct.变速箱 + "','"; InsertStr += InfoStruct.信息更新时间 + "','"; InsertStr += InfoStruct.信息更新者工号 + "','"; InsertStr += InfoStruct.信息更新者姓名 + "')"; DatabaseCmd databasecmd = new DatabaseCmd(); if (databasecmd.SqlExecuteNonQuery(InsertStr) == true) { return true; } else { return false; } }
public bool SqlUploadGeoInfo(string[] Column, GeoInfo GeoInfoStruct, int ReserveNum) { DatabaseCmd SelectCmd = new DatabaseCmd(); string sqlstr = "select count(汽车ID) from GeoInfo_" + GeoInfoStruct.Ext + " where 汽车ID = '" + GeoInfoStruct.汽车ID + "' and 视图 = '" + GeoInfoStruct.视图 + "'"; try { MySqlDataReader myreader; SelectCmd.SqlExecuteReader(sqlstr, out myreader); if (myreader.Read()) { if (myreader.GetInt32(0) >= ReserveNum) { string delStr = "delete from GeoInfo_" + GeoInfoStruct.Ext + " where 汽车ID = '" + GeoInfoStruct.汽车ID + "' and 视图 = '" + GeoInfoStruct.视图 + "' and 版本 not in (select top " + (ReserveNum - 1) + " (版本) from [GeoInfo_" + GeoInfoStruct.Ext + "] where 汽车ID = '" + GeoInfoStruct.汽车ID + "' order by 版本 desc) "; DatabaseCmd deleteCmd = new DatabaseCmd(); deleteCmd.SqlExecuteNonQuery(delStr); } } } catch (Exception ex){MessageBox.Show(ex.Message);} finally{SelectCmd.SqlReaderClose();} DatabaseCmd datacmd = new DatabaseCmd(); datacmd.GetConnection().Open(); MySqlTransaction myTran = datacmd.GetConnection().BeginTransaction(); try { datacmd.GetCommand().Connection = datacmd.GetConnection(); datacmd.GetCommand().Transaction = myTran; datacmd.GetCommand().CommandType = CommandType.Text; datacmd.GetCommand().CommandText = "insert into GeoInfo_" + GeoInfoStruct.Ext + " ("; for (int iLoop = 0; iLoop < Column.Length - 2; ++iLoop) { datacmd.GetCommand().CommandText = datacmd.GetCommand().CommandText + Column[iLoop] + ","; } datacmd.GetCommand().CommandText += "信息更新者姓名) values (@str1, @str2, @str3, @str4,@byte1, @str5, @int1" + ", @bool1, @date1, @str6, @str7)"; SqlParameter str1 = new SqlParameter("@str1", SqlDbType.NVarChar); SqlParameter str2 = new SqlParameter("@str2", SqlDbType.NVarChar); SqlParameter str3 = new SqlParameter("@str3", SqlDbType.NVarChar); SqlParameter str4 = new SqlParameter("@str4", SqlDbType.NVarChar); SqlParameter byte1 = new SqlParameter("@byte1", SqlDbType.Image); SqlParameter str5 = new SqlParameter("@str5", SqlDbType.NVarChar); SqlParameter int1 = new SqlParameter("@int1", SqlDbType.Int); SqlParameter bool1 = new SqlParameter("@bool1", SqlDbType.Bit); SqlParameter date1 = new SqlParameter("@date1", SqlDbType.DateTime); SqlParameter str6 = new SqlParameter("@str6", SqlDbType.NVarChar); SqlParameter str7 = new SqlParameter("@str7", SqlDbType.NVarChar); str1.Value = GeoInfoStruct.汽车ID; str2.Value = GeoInfoStruct.Car; str3.Value = GeoInfoStruct.Factory; str4.Value = GeoInfoStruct.Band; if (GeoInfoStruct.ByteData != null) { byte1.Value = GeoInfoStruct.ByteData; } else { byte1.Value = System.DBNull.Value; } str5.Value = GeoInfoStruct.视图; int1.Value = GeoInfoStruct.Version; bool1.Value = GeoInfoStruct.IsModel; date1.Value = GeoInfoStruct.UpdateDate; str6.Value = GeoInfoStruct.信息更新者工号; str7.Value = GeoInfoStruct.信息更新者姓名; datacmd.GetCommand().Parameters.Add(str1); datacmd.GetCommand().Parameters.Add(str2); datacmd.GetCommand().Parameters.Add(str3); datacmd.GetCommand().Parameters.Add(str4); datacmd.GetCommand().Parameters.Add(byte1); datacmd.GetCommand().Parameters.Add(str5); datacmd.GetCommand().Parameters.Add(int1); datacmd.GetCommand().Parameters.Add(bool1); datacmd.GetCommand().Parameters.Add(date1); datacmd.GetCommand().Parameters.Add(str6); datacmd.GetCommand().Parameters.Add(str7); datacmd.GetCommand().ExecuteNonQuery(); myTran.Commit(); if (GeoInfoStruct.IsModel == true) { string updatestr = "update GeoInfo_" + GeoInfoStruct.Ext + " set 是否模板 = 'false' where 汽车ID = '" + GeoInfoStruct.汽车ID + "' and 视图 = '" + GeoInfoStruct.视图 + "' and 版本 <>" + GeoInfoStruct.Version; DatabaseCmd updatedatabase = new DatabaseCmd(); updatedatabase.SqlExecuteNonQuery(updatestr); } return true; } catch (Exception ex) { MessageBox.Show(ex.Message); myTran.Rollback(); return false; } finally { myTran.Dispose(); datacmd.GetCommand().Transaction = null; datacmd.GetConnection().Close(); } }