/// <summary> /// 查DB用户配置信息 /// </summary> /// <param name="connectionstring"></param> /// <param name="userid"></param> /// <returns></returns> public bool GetUserConfigFromDB(int userid, ref string username) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); //查username string sql = "select username from" + CfgStruct.dbname + "customer where userid = " + userid.ToString(); sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) { return(false); } username = dt.Rows[0]["username"].ToString().Trim(); dt.Clear(); sql = null; //查stocklist //sql = "select stocklist from" + CfgStruct.dbname + "cust_stockinfo where userid = " + userid.ToString(); sql = "select stkcode,stkname from" + CfgStruct.dbname + "custselectstock where userid = " + userid.ToString(); sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) { return(false); } //string stocklist = dt.Rows[0]["stocklist"].ToString().Trim(); foreach (DataRow dr2 in dt.Rows) { CfgStruct.lns.Add(dr2["stkcode"].ToString().Trim() + ' ' + dr2["stkname"].ToString().Trim()); //Response.Write(dr2["kjny"].ToString() + "<br>"); } //string[] slist = stocklist.Split(','); //加入到自选列表缓存 /* * foreach (string stkcode in slist) * { * if(stkcode != "") * CfgStruct.lns.Add(stkcode); * } */ return(true); }
/// <summary> /// 修改用户自选表 /// </summary> /// <param name="userid"></param> /// <param name="stkcode"></param> /// <returns></returns> public bool ModiUserStocklistFromDB(int userid, string stkcode, int functype) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = null; //功能判断 switch (functype) { case FlagDef.ADD: { string selectstkname = "select stkname from" + CfgStruct.dbname + " stock where stkcode=" + stkcode; sp.ExecSingleSQL(CfgStruct.dbconnect_str, selectstkname, dt); if (dt.Rows.Count == 0) { return(false); } string stkname = dt.Rows[0]["stkname"].ToString().Trim(); sql = "insert" + CfgStruct.dbname + "custselectstock values('" + userid.ToString() + "','" + stkcode.ToString() + "','" + stkname.ToString() + "')"; //加入到当前自选列表 CfgStruct.lns.Add(stkcode + " " + stkname); break; } case FlagDef.REMOVE: //删除当前自选列表中stkcode foreach (string s in CfgStruct.lns) { if (s.Split(' ')[0] == stkcode) { sql = "delete" + CfgStruct.dbname + "custselectstock where userid='" + userid.ToString() + "' and stkcode='" + stkcode.ToString() + "'"; CfgStruct.lns.Remove(s); break; } } break; default: break; } if (!sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql)) { return(false); } return(true); }
/// <summary> /// DB股票代码校验, 并选出市场代码 /// 合理返回true,不合理返回false /// </summary> public bool stock_checkout(string stock, ref Stock_Index si) { SqlProcess sp = new SqlProcess(); string stockget = null; string dbtable = "stock "; DataTable dt = new DataTable(); //查stock string sql = "select stkcode,market,stkname from" + CfgStruct.dbname + dbtable + "where stkcode =" + "'" + stock + "'"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到股票,返回false if (dt.Rows.Count == 0) { return(false); } else { stockget = dt.Rows[0]["stkcode"].ToString().Trim(); //去掉空格 } //比较所选证券代码在DB中是否一致 if (String.Compare(stock, stockget) == 0) //if (String.Compare(stockcode, stockget) == 0) { si.market = Convert.ToInt32(dt.Rows[0]["market"].ToString().Trim()); si.stockname = dt.Rows[0]["stkname"].ToString().Trim(); return(true); } else { return(false); } }
/// <summary> /// 用户登录,成功返回userid,空账户及密码错返回错误标志 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public int UserLogin(string username, string password) { int userid = 0; string pwdinDB = null; SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = "select userid, pwd from market..customer where username = '******';"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //未查到 if (dt.Rows.Count == 0) { return(FlagDef.ACCOUNTWRONG); //账户不存在 } else { userid = Int32.Parse(dt.Rows[0]["userid"].ToString().Trim()); pwdinDB = dt.Rows[0]["pwd"].ToString().Trim(); if (string.Compare(password, pwdinDB) != 0) { userid = FlagDef.PWDWRONG; //密码错误 } } return(userid); }
/// <summary> /// 用户登录,成功返回userid,空账户及密码错返回错误标志 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public int UserLogin(string username, string password) { int userid = 0; string pwdinDB = null; SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = "select userid, pwd from market..customer where username = '******';"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //未查到 if (dt.Rows.Count == 0) return FlagDef.ACCOUNTWRONG; //账户不存在 else { userid = Int32.Parse(dt.Rows[0]["userid"].ToString().Trim()); pwdinDB = dt.Rows[0]["pwd"].ToString().Trim(); if (string.Compare(password, pwdinDB) != 0) userid = FlagDef.PWDWRONG; //密码错误 } return userid; }
/// <summary> /// DB股票代码校验, 并选出市场代码 /// 合理返回true,不合理返回false /// </summary> public bool stock_checkout(string stock, ref Stock_Index si) { SqlProcess sp = new SqlProcess(); string stockget = null; string dbtable = "stock "; DataTable dt = new DataTable(); //查stock string sql = "select stkcode,market,stkname from" + CfgStruct.dbname + dbtable + "where stkcode =" + "'" + stock + "'"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到股票,返回false if (dt.Rows.Count == 0) return false; else stockget = dt.Rows[0]["stkcode"].ToString().Trim(); //去掉空格 //比较所选证券代码在DB中是否一致 if (String.Compare(stock, stockget) == 0) //if (String.Compare(stockcode, stockget) == 0) { si.market = Convert.ToInt32(dt.Rows[0]["market"].ToString().Trim()); si.stockname = dt.Rows[0]["stkname"].ToString().Trim(); return true; } else return false; }
/// <summary> /// 修改用户自选表 /// </summary> /// <param name="userid"></param> /// <param name="stkcode"></param> /// <returns></returns> public bool ModiUserStocklistFromDB(int userid, string stkcode, int functype) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = null; //功能判断 switch (functype) { case FlagDef.ADD: { string selectstkname = "select stkname from" + CfgStruct.dbname + " stock where stkcode=" + stkcode; sp.ExecSingleSQL(CfgStruct.dbconnect_str, selectstkname, dt); if (dt.Rows.Count == 0) return false; string stkname = dt.Rows[0]["stkname"].ToString().Trim(); sql = "insert" + CfgStruct.dbname + "custselectstock values('" + userid.ToString() + "','" + stkcode.ToString() + "','" + stkname.ToString() + "')"; //加入到当前自选列表 CfgStruct.lns.Add(stkcode + " " + stkname); break; } case FlagDef.REMOVE: //删除当前自选列表中stkcode foreach (string s in CfgStruct.lns) { if (s.Split(' ')[0] == stkcode) { sql = "delete" + CfgStruct.dbname + "custselectstock where userid='" + userid.ToString() + "' and stkcode='" + stkcode.ToString() + "'"; CfgStruct.lns.Remove(s); break; } } break; default: break; } if (!sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql)) return false; return true; }
/// <summary> /// 查DB用户配置信息 /// </summary> /// <param name="connectionstring"></param> /// <param name="userid"></param> /// <returns></returns> public bool GetUserConfigFromDB(int userid, ref string username) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); //查username string sql = "select username from" + CfgStruct.dbname + "customer where userid = " + userid.ToString(); sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) return false; username = dt.Rows[0]["username"].ToString().Trim(); dt.Clear(); sql = null; //查stocklist //sql = "select stocklist from" + CfgStruct.dbname + "cust_stockinfo where userid = " + userid.ToString(); sql = "select stkcode,stkname from" + CfgStruct.dbname + "custselectstock where userid = " + userid.ToString(); sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) return false; //string stocklist = dt.Rows[0]["stocklist"].ToString().Trim(); foreach (DataRow dr2 in dt.Rows) { CfgStruct.lns.Add(dr2["stkcode"].ToString().Trim() + ' ' + dr2["stkname"].ToString().Trim()); //Response.Write(dr2["kjny"].ToString() + "<br>"); } //string[] slist = stocklist.Split(','); //加入到自选列表缓存 /* foreach (string stkcode in slist) { if(stkcode != "") CfgStruct.lns.Add(stkcode); } */ return true; }
/// <summary> /// 读DB系统配置 /// </summary> /// <returns></returns> public bool GetSysConfigFromDB(ref string errorMsg) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = "select keyname, keyvalue, sysstatus from" + CfgStruct.dbname + "sysconfig"; //string sql = "select keyname, keyvalue, sysstatus from stockmarket..sysconfig"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) { errorMsg = "no data!"; return false; } //查找各项配置的值 DataRow[] dr; //Marketlist_Tencent dr = dt.Select("keyname = 'Marketlist_Tencent'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "实时行情路径缺少,Marketlist_Tencent not found"; return false; } CfgStruct.marketlist_t = dr[0]["keyvalue"].ToString().Trim(); //Markettimeline_Sina dr = dt.Select("keyname = 'Markettimeline_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "分时线路径缺少,Markettimeline_Sina not found"; return false; } CfgStruct.market_timeline = dr[0]["keyvalue"].ToString().Trim(); //Marketdailyk_Sina dr = dt.Select("keyname = 'Marketdailyk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "日K线路径缺少,Marketdailyk_Sina not found"; return false; } CfgStruct.market_dailyk = dr[0]["keyvalue"].ToString().Trim(); //Marketweekk_Sina dr = dt.Select("keyname = 'Marketweekk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "周K线路径缺少,Marketweekk_Sina not found"; return false; } CfgStruct.market_weekk = dr[0]["keyvalue"].ToString().Trim(); //Marketmonthk_Sina dr = dt.Select("keyname = 'Marketmonthk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "月K线路径缺少,Marketmonthk_Sina not found"; return false; } CfgStruct.market_monthk = dr[0]["keyvalue"].ToString().Trim(); //Market_daily_his_yahoo dr = dt.Select("keyname = 'Market_daily_his_yahoo'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "历史数据路径缺少,Market_daily_his_yahoo not found"; return false; } CfgStruct.market_daily_his_url = dr[0]["keyvalue"].ToString().Trim(); return true; }
/// <summary> /// 读DB系统配置 /// </summary> /// <returns></returns> public bool GetSysConfigFromDB(ref string errorMsg) { SqlProcess sp = new SqlProcess(); DataTable dt = new DataTable(); string sql = "select keyname, keyvalue, sysstatus from" + CfgStruct.dbname + "sysconfig"; //string sql = "select keyname, keyvalue, sysstatus from stockmarket..sysconfig"; sp.ExecSingleSQL(CfgStruct.dbconnect_str, sql, dt); //若未查到配置信息,返回false if (dt.Rows.Count == 0) { errorMsg = "no data!"; return(false); } //查找各项配置的值 DataRow[] dr; //Marketlist_Tencent dr = dt.Select("keyname = 'Marketlist_Tencent'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "实时行情路径缺少,Marketlist_Tencent not found"; return(false); } CfgStruct.marketlist_t = dr[0]["keyvalue"].ToString().Trim(); //Markettimeline_Sina dr = dt.Select("keyname = 'Markettimeline_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "分时线路径缺少,Markettimeline_Sina not found"; return(false); } CfgStruct.market_timeline = dr[0]["keyvalue"].ToString().Trim(); //Marketdailyk_Sina dr = dt.Select("keyname = 'Marketdailyk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "日K线路径缺少,Marketdailyk_Sina not found"; return(false); } CfgStruct.market_dailyk = dr[0]["keyvalue"].ToString().Trim(); //Marketweekk_Sina dr = dt.Select("keyname = 'Marketweekk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "周K线路径缺少,Marketweekk_Sina not found"; return(false); } CfgStruct.market_weekk = dr[0]["keyvalue"].ToString().Trim(); //Marketmonthk_Sina dr = dt.Select("keyname = 'Marketmonthk_Sina'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "月K线路径缺少,Marketmonthk_Sina not found"; return(false); } CfgStruct.market_monthk = dr[0]["keyvalue"].ToString().Trim(); //Market_daily_his_yahoo dr = dt.Select("keyname = 'Market_daily_his_yahoo'"); if (dr[0].Table.Rows.Count == 0) { errorMsg = "历史数据路径缺少,Market_daily_his_yahoo not found"; return(false); } CfgStruct.market_daily_his_url = dr[0]["keyvalue"].ToString().Trim(); return(true); }