//BindSysResCheckBoxList(cblProblems,"res_fileproblems","name","name") public void BindSysResCheckBoxList(System.Web.UI.WebControls.CheckBoxList cbl,string tablename,string fieldv,string fieldt) { CommonDAL commonDAL = new CommonDAL(conn); string sql = "select * from " + tablename + " "; DataSet ds = commonDAL.GetDS(sql); cbl.DataSource = ds; cbl.DataTextField = fieldt; cbl.DataValueField = fieldv; cbl.DataBind(); }
//outin status同时修改 in(生效) out(发布) public bool BatchSetIn2Out(string driverids, string username, out string msg) { using (SqlConnection conn = new SqlConnection(Globals.ConnectionString)) { CommonDAL cdal = new CommonDAL(conn); if (driverids.EndsWith(",")) driverids += "0"; string sql = "select distinct outin from Server_D_Drivers where id in (" + driverids + ")"; DataSet ds = cdal.GetDS(sql); if (ds.Tables[0].Rows.Count == 0) { msg = "Driver信息不存在!"; return false; } if (ds.Tables[0].Rows.Count != 1) { msg = "Driver的内外状态不一致,请重新选择!"; return false; } string outin = Functions.CleanDBString(ds.Tables[0].Rows[0]["outin"]); if (! outin.Equals( Convert.ToInt32(DriverOutIn.Driver_OutIn_InYan).ToString() ) ) { msg = "Driver的内外状态不为[内验]无法设置为[外],请重新选择!"; return false; } sql = "update Server_D_Drivers set outin=" + Convert.ToInt32(DriverOutIn.Driver_OutIn_Out) + " , status=" + Convert.ToInt32(DriverStatus.Driver_Status_Published) + " " + " , activetime=getdate() " //2016-3-8 发布时间,影响到外网显示 + " , ApproveTime=getdate() " + " , ApproveBy='" + username + "' " + " , lastupdatetime=getdate() " + " , lastupdateby='" + username + "' " + " where id in (" + driverids + ") "; //log /* saveDataLog "8012",strSameSysIdList(i),"驱动管理模块","审批否决:"&strDriverNameNewTemp,"补充说明:"&request("ApproveMemo"),strTempStatusN,"1","",session("UserName") * saveDataLog(ModuleID,SourceID,ActionModule,ActionName,Remark,DataStatus,ISStatusLog,ISNew,User) * strSQL="insert into Server_D_Log(LogType,IPAddress,UserName,Remark,ActionName,ActionModule,ModuleID,SourceID,DataStatus,ISStatusLog,FromID) * values('业务日志','"&Session("_LogUserIPAddress")&"','"&User &"','"&Remark&"','"&ActionName&"','"&ActionModule&"','"&ModuleID&"','"&SourceID&"','"&DataStatus&"','"&ISStatusLog&"','"&FromID&"')" * IPAddress = Functions.ParseStr(Session["_LogUserIPAddress"]); */ //IPAddress暂时未用,所以先标定为0.0.0.0 //string IPAddress = Functions.ParseStr(Session["_LogUserIPAddress"]); string IPAddress = "0.0.0.0"; //FromID暂时未用,所以先标定为0 sql += " insert into Server_D_Log(LogType,IPAddress,UserName,Remark,ActionName,ActionModule,ModuleID,SourceID,DataStatus,ISStatusLog,FromID) " + "select '业务日志', '" + IPAddress + "','" + username + "','补充说明:批量外传内' ,'批量外传内','驱动管理模块','8012',id,'已发布','1','0'" + " from Server_D_Drivers where id in (" + driverids + ") "; cdal.ExecSQL(sql); msg = ""; return true; } }
void CheckUsernameExist() { using (SqlConnection conn = new SqlConnection(Globals.ConnectionString)) { CommonDAL commonDAL = new CommonDAL(conn); string username = Functions.ParseStr(Request["username"], ""); string sql = "select * from person where username='******'"; DataSet ds1 = commonDAL.GetDS(sql); string res = "0"; if (ds1.Tables[0].Rows.Count > 0) { res = "1"; } ltRes.Text = res; } }
/* public static void OutputXlsFile(XmlGrid objList, string excelFilePath) { //get sql string sql = objList.Sql; //Response.Write(sql + "<br>"); //get xmlgrid cols DataGridColumnCollection cols = objList.Columns; Dictionary<string, string> colsdic = new Dictionary<string, string>(); //field,title for (int i = 0; i < cols.Count; i++) { DataGridColumn col = cols[i]; if (col is XmlGridColumn) { XmlGridHyperLinkColumn c = (XmlGridHyperLinkColumn)col; //Response.Write(i+":"+c.DataTextField + ";" + c.DataTextFieldAlias +";"+c.HeaderText+ "<br>"); //3:f_processapplyintime_f; CONVERT(varchar(12), f.processapplyintime, 23) colsdic.Add(c.DataTextField, c.HeaderText); } } DataSet ds = CommonDAL.GetDS(sql); System.Data.DataTable dt = ds.Tables[0]; //ApplicationClass xlsApp = new ApplicationClass(); Application xlsApp = new Application(); xlsApp.Visible = false; //Workbook workbook = xlsApp.Workbooks.Open(excelFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Workbook workbook = xlsApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); try { Worksheet mySheet = workbook.Sheets[1] as Worksheet; mySheet.Name = "output"; object[,] objData = new object[dt.Rows.Count + 1, colsdic.Count]; int xlsrow = 0; int xlscol = 0; foreach (KeyValuePair<string, string> it in colsdic) { //mySheet.Cells[xlsrow, xlscol] = it.Value; objData[xlsrow, xlscol] = it.Value; xlscol++; } xlsrow++; for (int i = 0; i < dt.Rows.Count; i++) { xlscol = 0; foreach (KeyValuePair<string, string> it in colsdic) { //mySheet.Cells[xlsrow, xlscol] = dt.Rows[i][it.Key]; objData[xlsrow, xlscol] = dt.Rows[i][it.Key]; xlscol++; } xlsrow++; } // 写入Excel Range range; range = mySheet.get_Range(xlsApp.Cells[1, 1], xlsApp.Cells[dt.Rows.Count + 1, colsdic.Count]); //range.NumberFormat = "@";//设置单元格为文本格式 range.Value2 = objData; workbook.Saved = true; workbook.SaveCopyAs(excelFilePath); } catch (Exception exp) { throw exp; } finally { workbook.Close(true, Type.Missing, Type.Missing); workbook = null; xlsApp.Quit(); xlsApp = null; } } */ public static void OutputCsvFile(SqlConnection conn, XmlGrid objList, string csvFilePath) { string content=""; //get sql string sql = objList.Sql; //Response.Write(sql + "<br>"); //get xmlgrid cols DataGridColumnCollection cols = objList.Columns; Dictionary<string, string> colsdic = new Dictionary<string, string>(); //field,title for (int i = 0; i < cols.Count; i++) { DataGridColumn col = cols[i]; if (col is XmlGridColumn) { XmlGridHyperLinkColumn c = (XmlGridHyperLinkColumn)col; //Response.Write(i+":"+c.DataTextField + ";" + c.DataTextFieldAlias +";"+c.HeaderText+ "<br>"); //3:f_processapplyintime_f; CONVERT(varchar(12), f.processapplyintime, 23) colsdic.Add(c.DataTextField, c.HeaderText); } } CommonDAL commonDAL = new CommonDAL(conn); DataSet ds = commonDAL.GetDS(sql); System.Data.DataTable dt = ds.Tables[0]; foreach (KeyValuePair<string, string> it in colsdic) { //mySheet.Cells[xlsrow, xlscol] = it.Value; content +=it.Value +"," ; } content +="\r\n"; for (int i = 0; i < dt.Rows.Count; i++) { foreach (KeyValuePair<string, string> it in colsdic) { //mySheet.Cells[xlsrow, xlscol] = dt.Rows[i][it.Key]; content += dt.Rows[i][it.Key]+","; } content +="\r\n"; } //save FileStream fs = new FileStream(csvFilePath, FileMode.Create); StreamWriter sw = new StreamWriter(fs, Encoding.Default); sw.Write(content); sw.Close(); fs.Close(); }
private void ProcFile(SqlConnection conn, CommonDAL cdal , FileInfo NextFile) { log.Info(logPrefix + "ProcFolder[" + NextFile.Name + "]"); //any files in the m folder: //1.mv to dest; //2.calc md5/sha1/sha265 string destdir = "", relpath = "", dupdir = ""; string srcfilename = "", destfilename = ""; long filesize = 0; string fileext = ""; string md5 = "", sha1 = "", sha256 = ""; string sql = ""; try { srcfilename = NextFile.FullName; ////db中是否已经存在该文件名DriversFiles 和 Server_D_DriversFiles(老数据) //sql = "select count(*) as cnt from DriversFiles where [FileName]='" + NextFile.Name + "'"; //int cnt = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0); //sql = "select count(*) as cnt from Server_D_DriversFiles where [FileName]='" + NextFile.Name + "'"; //int cnt0 = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0); //log.Info(logPrefix + "db已存在FileName[" + NextFile.Name + "]数量(新):" + cnt + ";(老):" + cnt0); //if (cnt + cnt0 > 0) //2016-3-8 修改为后入为主的策略,Server_D_DriversFiles 存在于此就修改此表,DriversFiles 存在于此就修改此表,否则就新加到DriversFiles ; sql = "select * from Server_D_DriversFiles where [FileName]='" + NextFile.Name + "'"; DataSet dsOld = cdal.GetDS(sql); sql = "select * from DriversFiles where [FileName]='" + NextFile.Name + "'"; DataSet dsNew = cdal.GetDS(sql); if (dsOld.Tables[0].Rows.Count > 0) //存在于 Server_D_DriversFiles { log.Info(logPrefix + "File[" + NextFile.Name + "] 存在于Server_D_DriversFiles;"); #region 先入为主的策略 (否决) ////若存在记录,则忽略该记录,move to dup dir记录日志; ////move to dupdir //log.Info(logPrefix + "FileName[" + NextFile.Name + "] Has Existed in System and Will Be Moved to dup!"); //dupdir = m_MonitorFolder + @"\dup\"; //if (!Directory.Exists(dupdir)) Directory.CreateDirectory(dupdir); //File.Move(srcfilename, dupdir + NextFile.Name); ////continue; //return; #endregion relpath = ""; // 2016030811223308096/ string F_Path = dsOld.Tables[0].Rows[0]["F_Path"].ToString(); // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe if (!F_Path.StartsWith("/DriverFilesUploadFloder/server/")) { log.Error(logPrefix + "db.Server_D_DriversFiles.F_Path[" + F_Path + "] not begin with /DriverFilesUploadFloder/server/,无法处理此文件. "); return; } string[] arrF_Path = F_Path.Split("/".ToCharArray()); if (arrF_Path.Length < 4) { log.Error(logPrefix + "db.Server_D_DriversFiles.F_Path[" + F_Path + "] 格式错误,少于4段. "); return; } relpath = arrF_Path[arrF_Path.Length - 2]; log.Info(logPrefix + "get relpath [" + relpath + "] from db. "); //创建目标目录 destdir = m_DestFolderRoot + "/" + relpath; log.Info(logPrefix + "创建目标目录:" + destdir); if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir); destfilename = destdir + NextFile.Name; //move file to dest if (File.Exists(destfilename)) File.Delete(destfilename); File.Move(srcfilename, destfilename); log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;"); //get filesize filesize = NextFile.Length; log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];"); if (NextFile.Extension.Length > 1) fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1); //get filecodes md5 = GetFileCode(destfilename, "md5"); sha1 = GetFileCode(destfilename, "sha1"); sha256 = GetFileCode(destfilename, "sha256"); log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];"); //update to db Server_D_DriversFiles sql = " update Server_D_DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate() where FileName='" + NextFile.Name + "'"; cdal.ExecSQL(sql); log.Info(logPrefix + "update 1 table Server_D_DriversFiles ;"); } else if (dsNew.Tables[0].Rows.Count > 0) //存在于 DriversFiles { log.Info(logPrefix + "File[" + NextFile.Name + "] 存在于DriversFiles;"); relpath = ""; // 2016030811223308096/ string F_Path = dsNew.Tables[0].Rows[0]["F_Path"].ToString(); // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe if (!F_Path.StartsWith("/DriverFilesUploadFloder/server/")) { log.Error(logPrefix + "db.DriversFiles.F_Path[" + F_Path + "] not begin with /DriverFilesUploadFloder/server/,无法处理此文件. "); return; } string[] arrF_Path = F_Path.Split("/".ToCharArray()); if (arrF_Path.Length < 4) { log.Error(logPrefix + "db.DriversFiles.F_Path[" + F_Path + "] 格式错误,少于4段. "); return; } relpath = arrF_Path[arrF_Path.Length - 2]; log.Info(logPrefix + "get relpath [" + relpath + "] from db. "); //创建目标目录 destdir = m_DestFolderRoot + "/" + relpath; log.Info(logPrefix + "创建目标目录:" + destdir); if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir); destfilename = destdir + NextFile.Name; //move file to dest if (File.Exists(destfilename)) File.Delete(destfilename); File.Move(srcfilename, destfilename); log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;"); //get filesize filesize = NextFile.Length; log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];"); if (NextFile.Extension.Length > 1) fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1); //get filecodes md5 = GetFileCode(destfilename, "md5"); sha1 = GetFileCode(destfilename, "sha1"); sha256 = GetFileCode(destfilename, "sha256"); log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];"); //update to db DriversFiles and Server_D_DriversFiles sql = " update DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate(),F_OldPath='"+srcfilename+"' where FileName='" + NextFile.Name + "'"; sql = sql + " update Server_D_DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate() where FileName='" + NextFile.Name + "'"; cdal.ExecSQL(sql); log.Info(logPrefix + "update 2 tables DriversFiles and Server_D_DriversFiles ;"); } else { relpath = (new Random()).Next(99999).ToString().PadLeft(5, '0') + "/"; // 08096/ relpath = DateTime.Now.ToString("yyyyMMddHHmmss") + relpath; // 2016030811223308096/ //创建目标目录 destdir = m_DestFolderRoot + "/" + relpath; log.Info(logPrefix + "创建目标目录:" + destdir); if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir); destfilename = destdir + NextFile.Name; //move file to dest //若文件还在上传中是否会引起一个异常退出?tbd if (File.Exists(destfilename)) File.Delete(destfilename); File.Move(srcfilename, destfilename); log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;"); //get filesize filesize = NextFile.Length; log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];"); if (NextFile.Extension.Length > 1) fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1); //get filecodes md5 = GetFileCode(destfilename, "md5"); sha1 = GetFileCode(destfilename, "sha1"); sha256 = GetFileCode(destfilename, "sha256"); log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];"); //rec to db DriversFiles /* [FileName] [varchar](500) NOT NULL, [NFileName] [varchar](500) NOT NULL, [FileExt] [varchar](50) NULL, [FileType] [varchar](200) NULL, [FileSize] [numeric](18, 0) NULL, [ISDriver] [varchar](1) NULL, [UploadBy] [varchar](200) NULL, [UploadTime] [datetime] NULL, [F_Path] [varchar](2000) NULL, [F_DownloadTimes] [int] NULL, [F_URL] [varchar](500) NULL, [F_OldPath] [varchar](500) NULL, [FormatFileSize] [numeric](18, 2) NULL, [md5] [nvarchar](100) NULL, [sha1] [nvarchar](100) NULL, [sha256] [nvarchar](100) NULL, */ MyDBTable t = new MyDBTable(conn, "select * from DriversFiles");//可以得到自增id,前提:select 全部数据 //DataRow dr = t.Table.NewRow(); DataRow dr = t.NewRow(); dr["FileName"] = NextFile.Name; dr["NFileName"] = NextFile.Name; dr["FileExt"] = fileext; dr["FileType"] = dr["FileExt"]; dr["FileSize"] = filesize; dr["ISDriver"] = "1"; // ??? dr["UploadBy"] = "administrator";//tbd... dr["UploadTime"] = DateTime.Now; dr["F_Path"] = "/DriverFilesUploadFloder/server/" + relpath + NextFile.Name; // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe dr["F_DownloadTimes"] = 0; dr["F_URL"] = "http://driverdl.lenovo.com.cn/lenovo"; dr["F_OldPath"] = srcfilename;// ""; // E:\3008ESASHBAREDHATAS40X86.exe //2016-4-7 用作存 源头目录 dr["FormatFileSize"] = filesize / 1024; dr["md5"] = md5; dr["sha1"] = sha1; dr["sha256"] = sha256; //t.Table.Rows.Add(dr); t.AddRow(dr);// ==> t.Rows.Add(dr); t.Update(); log.Info(logPrefix + "Dest File[" + destfilename + "];Rec in DB;"); }//if 存在与否 } catch (IOException ioe) { log.Error(logPrefix + "Proc File IOError:" + ioe.ToString()); //@20160327 //这个错误将发生在move过程;若此时source还没有完全落地,将会被另一个进程占用(ftp),但此时已经建立了destdir需要删掉; if (Directory.Exists(destdir)) Directory.Delete(destdir); } catch (Exception e) { log.Error(logPrefix + "Proc File Error:" + e.ToString()); } }
void BindData(SqlConnection conn) { CommonDAL cdal = new CommonDAL(conn); string sql = "select * from [right] "; DataSet ds = cdal.GetDS(sql); cblRights.DataSource = ds; cblRights.DataTextField = "name"; cblRights.DataValueField = "id"; cblRights.DataBind(); int roleid = Functions.ParseInt(ViewState["roleid"], 0); if (roleid != 0) { DataSet ds0 = cdal.GetDS(" select * from role_right where roleid=" + roleid + " "); CommonBLL.BindCheckBoxListValues(cblRights, ds0, "rightid"); DataSet ds1 = cdal.GetDS("select * from [role] where id=" + roleid); txtRolename.Text = ds1.Tables[0].Rows[0]["name"].ToString(); } }
void BindData(SqlConnection conn) { CommonDAL cdal = new CommonDAL(conn); string sql = "select * from [role] "; DataSet ds = cdal.GetDS(sql); cblRoles.DataSource = ds; cblRoles.DataTextField = "name"; cblRoles.DataValueField = "id"; cblRoles.DataBind(); int userid = Functions.ParseInt(ViewState["userid"], 0); if (userid != 0) { DataSet ds0 = cdal.GetDS(" select * from user_role where username in (select username from Server_D_UserInfor where id=" + userid + ") "); CommonBLL.BindCheckBoxListValues(cblRoles, ds0, "roleid"); DataSet ds1 = cdal.GetDS("select * from [Server_D_UserInfor] where id=" + userid); txtUsername.Text = ds1.Tables[0].Rows[0]["username"].ToString(); txtPassword.Text = ds1.Tables[0].Rows[0]["userpassword"].ToString(); txtPassword2.Text = ds1.Tables[0].Rows[0]["userpassword"].ToString(); } }