写库问题

cairongyu02064 2011-10-08 12:40:02
我从网上看到一个股票信息的类库


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Qianfa.net.DataServices;
using Qianfa.net.Library.Entity;
using System.Net;
using Qianfa.net.Library;



namespace Qianfa.net.Library.Entity
{
/*http://hq.sinajs.cn/list=sh600066 sh上海 sz深圳
* 0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
3:”26.91″,当前价格;//时间结束后也就是收盘价了
4:”27.55″,今日最高价;
5:”26.20″,今日最低价;
6:”26.91″,竞买价,即“买一”报价;
7:”26.92″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”26.91″,“买一”报价;
12:”57590″,“买二”
13:”26.90″,“买二”
14:”14700″,“买三”
15:”26.89″,“买三”
16:”14300″,“买四”
17:”26.88″,“买四”
18:”15100″,“买五”
19:”26.87″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,“卖一”报价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;
*/
public class StockInfo
{
public string Name
{
get;
set;
}

public decimal TodayOpen
{
get;
set;
}

public decimal YesterdayClose
{
get;
set;
}

public decimal Current
{
get;
set;
}

public decimal High
{
get;
set;
}

public decimal Low
{ get; set; }

/// <summary>
/// 竟买价 买1
/// </summary>
public decimal Buy
{ get; set; }

/// <summary>
/// 竟卖价 卖1
/// </summary>
public decimal Sell { get; set; }

/// <summary>
/// 成交数 单位股数 通常除于100成为手
/// </summary>
public int VolAmount { get; set; }

/// <summary>
/// 成交多少钱,单位元
/// </summary>
public decimal VolMoney { get; set; }

/// <summary>
/// 新浪是可以看到5个,5档看盘 ,买1-买5
/// </summary>
public List<GoodsInfo> BuyList { get; set; }

/// <summary>
/// 卖1-卖5
/// </summary>
public List<GoodsInfo> SellList { get; set; }

/// <summary>
/// Date and Time
/// </summary>
public DateTime Time { get; set; }

public override string ToString()
{
return Name + ": " + VolAmount + ":" + Current;
}

}


}



namespace Qianfa.net.Library
{

///股票数据获取接口,你可以自己实现新浪yahoo...
public interface IDataService
{
StockInfo GetCurrent(string stockCode);
}
}

namespace Qianfa.net.DataServices
{
public class Sina : IDataService
{

private const string dataurl = "http://hq.sinajs.cn/list=%7B0}";
#region IStockInfo Members
WebClient client;
private StockInfo PrevInfo;
public StockInfo GetCurrent(string stockCode)
{
try
{
if (client == null)
{
client = new WebClient();
}
if (stockCode.Substring(0, 2) == "60")//上海是600打头
{
stockCode = "sh" + stockCode;
}
else if(stockCode.Substring(0,2)=="00")//深圳
{
stockCode = "sz" + stockCode;
}
else if (stockCode.Substring(0, 2) == "51")//上海基金
{
stockCode = "sh" + stockCode;
}
string url = string.Format(dataurl, stockCode);
string data = client.DownloadString(string.Format(url, stockCode));
PrevInfo = Parse(data);
return PrevInfo;
}
catch
{
return PrevInfo;
}

}

/// <summary>
/// Parse Sina data to stock Info
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static StockInfo Parse(string content)
{
// var hq_str_sh600066 = "宇通客车,9.27,9.35,9.76,9.80,9.27,9.77,9.78,4567858,44306952,3100,9.77,1200,9.76,20500,9.75,1400,9.74,15300,9.73,10030,9.78,28093,9.79,156827,9.80,2800,9.81,6400,9.82,2009-01-09,15:03:32";
int start = content.IndexOf('"')+1;
int end = content.IndexOf('"',start);
string input = content.Substring(start, end - start);
string[] temp = input.Split(',');
if (temp.Length != 32)
{
return null;
}
StockInfo info = new StockInfo();
info.Name = temp[0];
info.TodayOpen = decimal.Parse(temp[1]);
info.YesterdayClose = decimal.Parse(temp[2]);
info.Current = decimal.Parse(temp[3]);
info.High = decimal.Parse(temp[4]);
info.Low = decimal.Parse(temp[5]);
info.Buy = decimal.Parse(temp[6]);
info.Sell = decimal.Parse(temp[7]);
info.VolAmount = int.Parse(temp[8]);
info.VolMoney = decimal.Parse(temp[9]);
info.BuyList = new List<GoodsInfo>(5);
int index = 10;
for (int i = 0; i < 5; i++)
{
GoodsInfo goods = new GoodsInfo();
goods.State = GoodsState.Buy;
goods.Amount = int.Parse(temp[index]);
index++;
goods.Price = decimal.Parse(temp[index]);
index++;
info.BuyList.Add(goods);
}
info.SellList = new List<GoodsInfo>(5);

for (int i = 0; i < 5; i++)
{
GoodsInfo goods = new GoodsInfo();
goods.State = GoodsState.Sell;
goods.Amount = int.Parse(temp[index]);
index++;
goods.Price = decimal.Parse(temp[index]);
index++;
info.SellList.Add(goods);
}
info.Time = DateTime.Parse(temp[30] + " " + temp[31]);
return info;

}

#endregion
}
public class GoodsInfo
{
public int Amount
{ get; set; }
public decimal Price
{
get;
set;
}
public GoodsState State { get; set; }
}


public enum GoodsState
{
Buy,
Sell,
}

}

我想把上面类库中读取的数据写入数据库中,表已建好,符合上面sina股票的结构.请问我该怎么弄?

本人不才,是新手
呵呵,我比较笨
请各位大大说明白点啊
或者给点代码也可以
万分感谢!
...全文
183 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-10-09
  • 打赏
  • 举报
回复
网上这方面的例子确实很多,百度、google都能搜到,自己动动手。。。
cairongyu02064 2011-10-09
  • 打赏
  • 举报
回复
俩函数,说错。。。。。。
cairongyu02064 2011-10-09
  • 打赏
  • 举报
回复
Parse(string content)和GetCurrent(string stockCode),参数我该怎么处理
sdl2005lyx 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cairongyu02064 的回复:]

大哥啊,我主要是Sina类中的两个方法不会调用,参数不会处理。。。。。。
[/Quote]

哪两个方法?
cairongyu02064 2011-10-09
  • 打赏
  • 举报
回复
大哥啊,我主要是Sina类中的两个方法不会调用,参数不会处理。。。。。。
卧_槽 2011-10-08
  • 打赏
  • 举报
回复
新手先去看书。
cairongyu02064 2011-10-08
  • 打赏
  • 举报
回复
楼上的说了等于没说......
sjfbtnmcn 2011-10-08
  • 打赏
  • 举报
回复
什么库?access?sql?oracle?
反正都得用 SQL 语句,Insert 往里面插入吧.
内容概要:本文聚焦于高维多阶段随机规划问题,深入研究了正则化分解方法与马尔可夫过程在刻画不确定性动态演化中的应用,并提供了完整的Python代码实现。通过引入正则化技术有效降低了高维随机优化问题的计算复杂度,结合马尔可夫链建模多阶段决策过程中的不确定性传播机制,提升了模型在复杂动态环境下的求解效率与鲁棒性。研究涵盖了问题建模、算法设计、数值求解及结果分析全过程,具有较强的理论深度与工程实践价值; 适合人群:具备一定运筹学、优化理论基础及Python编程能力,从事智能决策、人工智能、能源系统优化、金融工程等相关领域的科研人员、高校研究生以及工业界研发工程师; 使用场景及目标:①应用于电力系统调度、供应链管理、金融资产配置等存在多阶段不确定性的复杂决策场景;②掌握高维随机规划的建模思路与高效求解技术,深入理解正则化方法与马尔可夫过程在实际优化算法中的融合机制与实现路径; 阅读建议:建议结合提供的Python代码进行动手实践,重点关注算法实现细节、参数敏感性分析与收敛性验证,鼓励在不同应用场景中迁移和改进该方法,进一步探索其在分布鲁棒优化、动态规划等前沿方向的扩展潜力。
内容概要:本文系统研究了离散时间线性系统中基于共识的分布式滤波器的稳定性与最优性问题,深入探讨了KF(卡尔曼滤波)、DKF(分布式卡尔曼滤波)、SMDKF(基于平方根的最大熵分布式卡尔曼滤波)、CI(协方差交叉)、ICF(信息共识滤波)和HCMCI(基于高阶交叉协方差的信息融合)等多种滤波算法的理论基础、数学推导与实现机制。通过Matlab平台构建多传感器网络仿真环境,实现了各类算法在不同噪声统计特性和通信拓扑结构下的状态估计仿真,重点分析了各算法在估计精度、收敛速度、鲁棒性及一致性方面的性能差异,并对融合策略中的协方差传播、信息权重分配与共识迭代过程进行了细致对比,旨在为复杂环境下多智能体系统的分布式状态估计提供可复现的技术方案与理论支撑。; 适合人群:具备控制理论、信号处理、线性系统理论及Matlab编程基础的研究生、科研人员,以及从事多传感器融合、分布式估计算法开发、无人系统导航与智能电网监控等领域的工程技术人员。; 使用场景及目标:① 掌握主流分布式滤波算法的核心思想与数学建模方法;② 在多节点传感网络中实现高效可靠的状态估计;③ 对比分析不同共识融合策略在非理想通信条件下的性能表现;④ 支持学术论文复现、算法改进与工程化验证,服务于科研创新与系统优化设计。; 阅读建议:建议结合Matlab代码逐模块解析算法实现流程,重点关注状态预测、局部更新、信息融合与一致性达成的关键步骤;可通过调整系统噪声、观测噪声、网络连接拓扑等参数开展扩展性仿真实验,深入理解算法的稳定边界与最优性条件,进一步探索其在实际应用场景中的适应性与改进空间。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧