我正在使用sql报告和书面查询
SELECT * FROM users WHERE created_by = @createdby
Run Code Online (Sandbox Code Playgroud)
并在代码隐藏文件后使用此代码传递参数来调用此报告.
param[0] = new ReportParameter("@createdby", "1");
reportviewer.ServerReport.SetParameters(param);
Run Code Online (Sandbox Code Playgroud)
也在rdl文件中.我已将此参数"Set Parameter visibilty"设置为隐藏.它在使用查询构建器执行此查询的情况下正常工作,出现了一个定义查询参数框并询问查询参数.它很棒.
但是使用.cs文件传递此参数时.它给出错误"参数验证失败.无法为所有参数提供有效值.(rsParameterError)".
我在 WPF 应用程序中使用 mvvm 模式而不使用任何数据库。我遇到了一个问题,我有一个视图 UploadView,其中用户上传了一些 excel 文件,其视图模型命名为 UploadViewModel,在此我读取上传的文件数据并将其保存在某个数据表对象中,该对象是 UploadvViewModals 类的对象,它工作正常,但是我的问题是,现在我必须在具有不同 Viewmodal 的某些 ItemsControl 中的另一个视图上显示上传的数据(数据表对象)。作为 WPF 和 windows 的新手。我不知道如何进行。有哪些可能的方法来做到这一点?
我正在使用以下代码在我的wpf应用中显示一些图像:
<Image Source="{Binding Path=TemplateImagePath, Mode=TwoWay}" Grid.Row="3" Grid.Column="2" Width="400" Height="200"/>
Run Code Online (Sandbox Code Playgroud)
并通过浏览某个目录在代码隐藏的构造函数中设置它的绑定属性,下面是代码:
DirectoryInfo Dir = new DirectoryInfo(@"D:/Template");
if (Dir.Exists)
{
if (Dir.GetFiles().Count() > 0)
{
foreach (FileInfo item in Dir.GetFiles())
{
TemplateImagePath = item.FullName;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果用户上传了一些其他图像,那么我需要删除这个旧图像,这是我按照以下方式进行并将图像绑定设置为null:
DirectoryInfo Dir = new DirectoryInfo(@"D:/Template");
if (Dir.Exists)
{
if (Dir.GetFiles().Count() > 0)
{
foreach (FileInfo item in Dir.GetFiles())
{
TemplateImagePath= null;
File.Delete(item.FullName);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到的异常是无法删除某些其他进程使用的文件.我该如何删除它?
我想在我的 C#、WPF 应用程序中读取 excel 文件。它在具有不同版本的 excels 的不同机器上运行(有些机器有 excel-2003,有些机器有 excel-2007 等,有些机器根本没有安装任何办公室)。无论目标计算机上是否安装了任何 excel 版本/包,我都想读取 excel 文件内容。
我目前正在使用 Microsoft.Office.Interop.Excel 从 excel 文件中读取数据,但是在没有安装任何办公室的目标机器上运行我的应用程序时,我的应用程序不起作用。
我该怎么做?我按照以下方式进行操作,添加了命名空间
using Excel = Microsoft.Office.Interop.Excel;
Run Code Online (Sandbox Code Playgroud)
这是方法的主体:
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
xlWorkBook = xlApp.Workbooks.Open(_filePath);
List<string> Folders = new List<string>();
try
{
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
for (int cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
Folders.Add(((range.Cells[1, cCnt] as Excel.Range).Value).ToString());
}
}
catch (Exception ex)
{
//some error msg
}
finally
{
xlWorkBook.Close();
xlApp.Quit(); …Run Code Online (Sandbox Code Playgroud) 在SQL Server 2008R2中,在两个日期之间提取数据不起作用.
我使用以下代码从INVOICE表中获取行和CREATED_DATE之间的行,这是我发送到存储过程的参数.@startdate@enddate
Select *
from INVOICES INV
where CONVERT(Varchar(10), INV.CREATED_DATE, 105)
BETWEEN CONVERT(VARCHAR(10), @startdate, 105)
AND CONVERT(VARCHAR(10), @enddate, 105)
Run Code Online (Sandbox Code Playgroud)
它工作不正常,让我疯了
我做错了什么?..
c# ×3
wpf ×3
sql-server ×2
.net ×1
c#-4.0 ×1
excel ×1
file-io ×1
ioexception ×1
mvvm ×1
reportviewer ×1
sql ×1
ssrs-2008 ×1