小编use*_*167的帖子

如何在X轴上为System.Windows.Forms.DataVisualization.Charting设置DateTime范围?

目前我正在尝试使用窗体显示图表,该窗体显示X轴上的月度数据和Y轴上的整数值; 但是,我没有为X轴正确设置范围,其中MonthYear是DateTime:

var pnChart = new System.Windows.Forms.Panel();
pnChart.Controls.Clear();
DataTable dtChartData = myDatabaseLayer.BuildDataTable("SELECT Added, Modified FROM tblStatistics WHERE ApplicationID = " + intApplicationID + " ORDER BY MonthYear");
Chart chart = GenerateChart(dtChartData, pnChart.Width, pnChart.Height, "ActiveBorder", 6);
chart.Series[0].XValueType = ChartValueType.DateTime;
chart.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd";
chart.ChartAreas[0].AxisX.Interval = 1;
chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Months;
chart.ChartAreas[0].AxisX.IntervalOffset = 1;
pnChart.Controls.Add(chart);
Run Code Online (Sandbox Code Playgroud)

问题是,当显示图表时,X轴的日期时间为"1900-01-01",所以我的问题是,如何设置日期范围从2013-01-01开始?

请注意我已经搜索了互联网并尝试了以下设置,但他们没有给我正确的范围:

chart.ChartAreas[0].AxisX.Maximum = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)

要么,

chart.ChartAreas[0].AxisX.Crossing = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)

要么,

chart.ChartAreas[0].AxisX.Minimum = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)

TIA.

更新: 请注意我发现如何正确设置范围:

            chart.Series[0].XValueType = ChartValueType.DateTime;
            DateTime minDate = new DateTime(2013, 01, 01);
            DateTime maxDate = …
Run Code Online (Sandbox Code Playgroud)

c# ado.net

23
推荐指数
1
解决办法
5万
查看次数

SQL Server 2008 R2 Express权限 - 无法创建数据库或修改用户

最近刚刚升级到SQL Server 2008 R2 Express.当我使用Windows身份验证使用我的id roger.moore登录后尝试创建数据库时,我收到此错误:

执行Transact-SQL语句或批处理时发生异常.(Microsoft.SqlServer.ConnectionInfo)
数据库'master'中的CREATE DATABASE权限被拒绝.RESTORE HEADERONLY异常终止错误262

如果我尝试将sysadmin角色添加到roger.moore,这是我收到的错误:

为ServerRole"sysadmin"添加成员失败.(Microsoft.SqlServer.Smo)
执行Transact-SQL语句或批处理时发生异常.(Microsoft.SqlServer.ConnectionInfo)
用户无权执行此操作错误15247

如果我尝试使用此命令将此角色添加到我的用户,请使用此命令,

EXEC sp_addsrvrolemember 'ziffenergy\myuser', 'sysadmin';
GO
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

消息15247,级别16,状态1,过程sp_addsrvrolemember,行29
用户无权执行此操作.

有没有人有什么建议?看来我在本地机器上无法对数据库做任何事情.请注意,我是我正在使用的Windows 7工作站的管理员,如果我尝试使用SQL Server Management Studio在我们的网络IT测试数据库服务器上创建或修改数据库和/或用户,我可以毫无问题地执行此操作.

sql-server permissions sql-server-2008r2-express

16
推荐指数
2
解决办法
11万
查看次数

你能同时使用AnkhSVN和TortoiseSVN吗?

当我尝试将上述两个工具与Visual Studio 2010一起使用时,在打开visual studio之后,"Pending Changes"选项卡包含文本"Team Foundation Server不是您当前的Source Control插件.单击此处设置当前源控制插件."

当我单击此消息时,它会打开"选项"对话框,显示当前的源代码控制插件"AnkhSVN - Visual Studio的Subversion支持",那么为什么会给我这个错误消息呢?我询问TortoiseSVN的原因是AnkhSVN过去偶尔会有工作,但我认为发生的事情是在使用TortoiseSVN进行更改后,AnkhSVN不再有效.以下是我目前使用的TortoiseSVN和AnkhSVN的版本:

AnkhSVN:2.1.8420.8 TortoiseSVN:1.6.8.19260(32位)

有没有人有什么建议?是否有一些特殊的XML代码指定需要在解决方案文件中的SCM?TIA.

tortoisesvn ankhsvn visual-studio-2010

3
推荐指数
1
解决办法
4052
查看次数

SQL Server 2008:将数据类型nvarchar转换为float时出错

目前正在解决运行此SQL查询的问题:

UPDATE tblBenchmarkData 
SET OriginalValue = DataValue, OriginalUnitID = DataUnitID, 
    DataValue = CAST(DataValue AS float) * 1.335 
WHERE 
    FieldDataSetID = '6956beeb-a1e7-47f2-96db-0044746ad6d5' 
    AND ZEGCodeID IN 
             (SELECT ZEGCodeID FROM tblZEGCode 
              WHERE(ZEGCode = 'C004') OR 
                   (LEFT(ZEGParentCode, 4) = 'C004'))
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

消息8114,级别16,状态5,行1
错误将数据类型nvarchar转换为float.

真奇怪的是,如果我更改UPDATEto SELECT来检查检索的值是数值:

SELECT DataValue 
FROM tblBenchmarkData 
WHERE FieldDataSetID = '6956beeb-a1e7-47f2-96db-0044746ad6d5' 
AND ZEGCodeID IN 
         (SELECT ZEGCodeID 
          FROM tblZEGCode WHERE(ZEGCode = 'C004') OR 
                               (LEFT(ZEGParentCode, 4) = 'C004'))
Run Code Online (Sandbox Code Playgroud)

结果如下:

DataValue
2285260
1205310
Run Code Online (Sandbox Code Playgroud)

想要使用TRY_PARSE或类似的东西; 但是,我们运行SQL Server 2008而不是SQL Server 2012.有没有人有任何建议?TIA.

floating-point casting nvarchar sql-server-2008

3
推荐指数
1
解决办法
4万
查看次数

Visual Studio sp1错误:DACFramework_enu.msi不可用

我正在尝试为visual studio 2010安装sp1.我第一次安装它时sp1运行正常.然后我稍后安装了windows phone开发工具.

Visual Studio告诉我sp1已部分安装.然后,当我尝试重新应用sp1时,它给了我这样的信息:

Microsoft SQL Server 2008 R2 Data-Tier Application Framework
Insert the 'Microsoft SQL Server R2 Data-Tier Application Framework' disk and click OK
Run Code Online (Sandbox Code Playgroud)

所以我从这个网站https://www.microsoft.com/en-us/download/details.aspx?id=24000下载了上述功能,并尝试将安装程序指向msi文件,但我得到了错误信息:

The file 'DACFramework.msi' is not a valid installation package for the product Microsoft SQL Server 2008 R2 Data-Tier Application Framework.  Try to find the installation package 'DACFramework_enu.msi' in a folder from which you can install Microsoft SQL Server 2008 R2 Data-Tier Application Framework.
Run Code Online (Sandbox Code Playgroud)

问题是我最初使用Web安装程序安装了上面的Data-Tier框架,那么如何让它访问这个磁盘呢?有没有人有什么建议?TIA.

visual-studio visual-studio-2010-sp1

3
推荐指数
1
解决办法
5072
查看次数

从字符串转换为uniqueidentifier时转换失败

请注意,目前我正在尝试通过C#ADO.NET执行以下INSERT命令,但是收到上述错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('{6b15a625-b967-4d3b-9ee3-34f64633f469}','test title','test subject','test content','test author',GETDATE(),'{475f30a1-142f-4fd5-b783-598d838559de}',1,Null)
Run Code Online (Sandbox Code Playgroud)

找到一个小程序来检查GUID是否正确:http: //www.devx.com/vb2themax/Tip/18293

当我运行程序时,它表明{6b15a625-b967-4d3b-9ee3-34f64633f469}和{475f30a1-142f-4fd5-b783-598d838559de}都是GUID.有没有人有任何建议来确定我收到此错误的原因?TIA.

更新:

谢谢你的建议,bobs; 但是,当我使用以下命令时,我仍然得到相同的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('6b15a625-b967-4d3b-9ee3-34f64633f469','test title','test subject','test content','test author',GETDATE(),'475f30a1-142f-4fd5-b783-598d838559de',1,Null)
Run Code Online (Sandbox Code Playgroud)

更新2:请注意我使用的是SQL Server 2008.

更新3:这变得很奇怪.当我使用NEWID()时,我仍然收到相同的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES(NEWID(),'test title','test subject','test content','test author',GETDATE(),NEWID(),1,Null)
Run Code Online (Sandbox Code Playgroud)

c# sql t-sql ado.net sql-server-2008

2
推荐指数
1
解决办法
7228
查看次数

CComboBox排序

因此,我正在尝试在现有的应用程序上削减我的 CPP 牙齿。

我遇到了一些困难。我的组合框项目正在按顺序添加,如下所示。但是,输出是

[1,10,11,12,13,14,15,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我在这里查看了CComboBox 文档。然而,我仍然很困惑为什么会产生这样的结果。

for (int i = 1; i <= m_pPage2->GetNumberColumns(); i++)
{
    CString szColNum;
    szColNum.Format (_T("%d"), i);
    m_cSubColumn.AddString(szColNum);
}
Run Code Online (Sandbox Code Playgroud)

c++ mfc ccombobox

2
推荐指数
1
解决办法
7655
查看次数

如何解决 OleDb 错误“FROM 子句中的语法错误”?

目前我正在尝试使用此功能导入 CSV 文件:

    public DataSet ImportCommaSeparatedValueFileToDataSet(string SourceFile)
    {
        var dsImportCSVtoDataSetReturn = new DataSet();

        using (var objAdapter1 = new OleDbDataAdapter())
        {
            String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + SourceFile.Substring(0, SourceFile.LastIndexOf(@"\")) + ";Extended Properties='text;HDR=Yes;FMT=Delimited'";
            var objConnection = new OleDbConnection(sConnectionString);
            objConnection.Open();
            var objCmdSelect = new OleDbCommand("SELECT * FROM " + SourceFile, objConnection);

            objAdapter1.SelectCommand = objCmdSelect;
            objAdapter1.Fill(dsImportCSVtoDataSetReturn);
            objConnection.Close();
        }

        return dsImportCSVtoDataSetReturn;
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试导入文件名中没有空格的文件时,它工作正常。当我尝试导入以下文件时:

D:\Workspace\WoldCard export.csv
Run Code Online (Sandbox Code Playgroud)

然后我收到以下异常:

excException = {"Syntax error in FROM clause."}

Source = "Microsoft JET Database Engine"

StackTrace  "   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)\r\n   at …
Run Code Online (Sandbox Code Playgroud)

c# sql oledb

1
推荐指数
1
解决办法
1万
查看次数

消息8114,级别16,状态5,第1行将数据类型nvarchar转换为实数时出错

目前,我正在执行以下查询并收到上述错误消息:

SELECT dbo.qryOtherFieldDataVerifySource.ItemID,
       dbo.qryOtherFieldDataVerifySource.EDGRDataID,
       dbo.qryOtherFieldDataVerifySource.LineItemID,
       dbo.qryOtherFieldDataVerifySource.ZEGCodeID,
       dbo.qryOtherFieldDataVerifySource.DataValue,
       dbo.tblBC.AcceptableValues,
       dbo.qryOtherFieldDataVerifySource.DataUnitID,
       dbo.qryOtherFieldDataVerifySource.DataDate,
       dbo.tblBC.DataTypeID,
       CASE
         WHEN DataTypeID = '{5951994B-BF47-4117-805D-B8F85FAB76A8}'
              AND ISNUMERIC(DataValue) = 1 THEN ( CASE
                                                    WHEN CAST(DataValue AS FLOAT(8)) >= 0 THEN 1
                                                    ELSE 0
                                                  END )
         ELSE 0
       END AS ValidPositiveNumericValue,
       CASE DataTypeID
        WHEN '{A6317BA5-F8FB-4866-A26B-24594650C2DC}'THEN ( CASE UPPER(DataValue)
        WHEN 'TRUE' THEN 1
        WHEN 'FALSE' THEN 1
        WHEN 'YES' THEN 1
        WHEN 'NO' THEN 1
        WHEN 'Y' THEN 1
        WHEN 'N' THEN 1
        WHEN '0' THEN 1
        WHEN '1' THEN 1
        ELSE …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

1
推荐指数
1
解决办法
5万
查看次数