我正在尝试连接到Oracle数据库,但是当代码执行该行时:
con = new OracleConnection(oradb);
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误."程序无法启动,因为您的计算机缺少oraons.dll.请尝试重新安装该程序以解决此问题." 我已经从以下站点http://www.oracle.com/technetwork/topics/dotnet/index-085163.html在我的计算机上安装了ODP for .net 并引用了Oracle.DataAccess.
我还检查了安装的文件夹,我可以在文件夹中看到oraons dll.这是代码:
class OracleDatabase
{
OracleConnection con;
public void ConnectToOracleDb()
{
string oradb = getConnectionString("host", 1521, "sid", "user", "pass");
try
{
con = new OracleConnection(oradb);
con.Open();
Console.WriteLine("Connected to Oracle" + con.ServerVersion);
}
catch
{
Console.WriteLine("Could not connect to FLX");
}
}
private static string getConnectionString(string databaseIP, int databasePort, string databaseSID, string databaseUN, string databasePW)
{
return string.Format(
"Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = …Run Code Online (Sandbox Code Playgroud) 我正在尝试将字符串格式化为如下所示:
17-Jan-14 08:00:00 PM
这就是我到目前为止,我怎样才能使月份部分与字母相对应
码:
<wpfTool:DateTimePicker
Name="DTP_from_TAtab"
Format="Custom"
FormatString="dd-MM-yy hh:mm:ss tt"
TimeFormat="Custom"
TimeFormatString="hh:mm:ss"
Run Code Online (Sandbox Code Playgroud) 我正在尝试执行此查询但由于某种原因它不喜欢2个字符串彼此相邻的事实,这是查询:
var FiveSecStatsQuery = from qai in connection.QuickAnalyzerInputs
join calP in connection.CalculatedPrices on qai.InputID equals calP.TradeID
where ***(qai.ClientName = clientName) && (qai.CurrencyPair = cur_pair)***
&& (calP.Description = PriceDescriptions.FiveSeconds) && (calP.Outcome != null)
select new
{
calP.Outcome
};
Run Code Online (Sandbox Code Playgroud)
错误是:运算符'&&'不能应用于'string'和'string'类型的操作数
为什么它给我这个错误?ClientName和CurrencyPair都是数据库中的字符串类型.错误发生在星号的位置
我试图在列中获得平均损益。该列的类型为 double,但我不断收到错误消息,内容如下:
附加信息:聚合参数中的语法错误:需要带有可能的“子”限定符的单列参数。
执行此行时会发生这种情况:
avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
Run Code Online (Sandbox Code Playgroud)
另外,这里有一些额外的代码来澄清:
dt.Columns.Add(Columns.FiveSecBeforePnL, typeof(double));
foreach(DataRow row in dt.Rows)
{
row[Columns.FiveSecBeforePnL] = some value;
}
double avgFiveSbefore;
avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
Run Code Online (Sandbox Code Playgroud) 我不知道为什么我的UI不会更新,即使你调试我可以看到记录变量的数量已更新.我只是从数据库中检索数据并计算行数并显示它,它在窗口Load事件上工作正常,但是当我点击刷新按钮时,即使添加了新行,数字也不会更新.这是我的XAML:
<TextBlock Name="numRecordsAnalyzed_TAtab" TextWrapping="Wrap" Margin="0,-1,369,0" Grid.RowSpan="2" Grid.Column="1">
<Run Text="Records Found: " Foreground="{StaticResource Foreground}" FontSize="14"/>
<Run Text="{Binding Numrecords}" Foreground="LightBlue" FontSize="14"/>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
这是C#:
public partial class OpenTradesWindow : INotifyPropertyChanged
{
private ScotiaTradeAnalyzerDb connection = null;
ObservableCollection<TradesClass> collection;
private int numOfrecords = 0;
public event PropertyChangedEventHandler PropertyChanged;
#region properties
public class TradesClass
{
public DateTime TradeDate { get; set; }
public TimeSpan TradeTime { get; set; }
public DateTime? CloseDateTime { get; set; }
public string ClientName { get; set; }
public string …Run Code Online (Sandbox Code Playgroud) 我不确定如何处理这个问题,我想做的是当值大于0时这些P&L单元前景为绿色,如果小于0则为红色.我知道我需要以某种方式使用tablecellrenderer我只是不知道如何开始.

这是表格设置:
tbl_positions = new WebTable(posdata, posHeaders)
{
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex,
vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex))
{
c.setBackground((new Color(216, 216, 216)));
}
else
{
if(!isCellSelected(rowIndex, vColIndex))
{
if(rowIndex != 21)
c.setBackground(getBackground());
else
c.setBackground((new Color(216, 249, 255)));
}
else
{
c.setBackground((new Color(0, 128, 255)));
}
}
if(vColIndex == 5 || vColIndex == 6 )
{
Integer intValue = (Integer) getValueAt(rowIndex, vColIndex);
c.setForeground(getColor(intValue));
}
else
{ …Run Code Online (Sandbox Code Playgroud) 我有一个StackBuilder类型的列表:
public class StackBuilder
{
private int quoteID = 0;
private double price = 0;
private double size = 0;
public int QuoteID
{
get { return quoteID; }
}
public double Price
{
get { return price; }
}
public double Size
{
get { return size; }
}
public StackBuilder(int quoteID, double price, double size)
{
this.quoteID = quoteID;
this.price = price;
this.size = size;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试删除所有价格等于NaN的元素.这就是我所拥有的,但由于某种原因,它不会起作用.
BidStack.RemoveAll(item => item.Price == Double.NaN);
AskStack.RemoveAll(item => item.Price == Double.NaN); …Run Code Online (Sandbox Code Playgroud)