小编Her*_*rro的帖子

检查SQLite中是否存在列

我需要检查列是否存在,如果不存在则添加它.根据我的研究,看起来sqlite不支持IF语句,而应该使用case语句.

这是我到目前为止:

SELECT CASE WHEN exists(select * from qaqc.columns where Name = "arg" and Object_ID = Object_ID("QAQC_Tasks")) = 0 THEN ALTER TABLE QAQC_Tasks ADD arg INT DEFAULT(0);
Run Code Online (Sandbox Code Playgroud)

但我收到错误:"ALTER"附近:语法错误.

有任何想法吗?

sqlite

34
推荐指数
7
解决办法
6万
查看次数

通过Access中的ODBC链接表更新SQLite数据库

我遇到了SQLite数据库的问题.我正在使用http://www.ch-werner.de/sqliteodbc/中的SQLite ODBC . 安装了64位版本并使用以下设置创建了ODBC:

在此输入图像描述

我打开Access数据库并链接到数据源.我可以打开表,添加记录,但不能删除或编辑任何记录.有没有什么我需要修复ODBC端允许这个?我尝试删除记录时遇到的错误是:

Microsoft Access数据库引擎停止了该过程,因为您和另一个用户正在尝试同时更改相同的数据.

当我编辑记录时,我得到:

自您开始编辑以来,其他用户已更改该记录.如果保存记录,则将覆盖其他用户所做的更改.

保存记录已禁用.只能复制到剪贴板或删除更改.

sqlite ms-access odbc ms-access-2010 sqlite-odbc

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

让WPF应用程序忽略DPI设置

我有一个专为1900x1200分辨率设计的wpf应用程序,但是我们的一些用户使用了Windows显示设置来调整所有内容的125%-150%,有没有办法让应用程序忽略这些设置并仍能正常显示?

我在这里看到了一些名为SetProcessDPIAware的东西,但没有任何运气.

这是应用程序的屏幕截图,显示比例调高至150% 应用缩放

正如您所看到的,应用程序太小,无法使其正确调整大小.

c# wpf dpi

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

HttpClient GetAsync 失败

我一直在尝试构建一个 Windows ConsoleApp 作为 WebService 运行来来回同步一些数据我已经构建了一个用于同步的项目,当我通过我的 wpf 项目运行它时,它似乎可以工作,但事实并非如此。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using System.Net.Http.Headers;
using QAQC_DataCommon.Models;

namespace TestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Gettasks();
        }
    public static async void Gettasks()
    {
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://localhost/QAQC_SyncWebService/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            try
            {
                var response = await client.GetAsync("Tasks/?username=XXXXXX&LastUpdated=1/1/15");

                if (response.IsSuccessStatusCode)
                {
                    List<QaqcRow> ls = await response.Content.ReadAsAsync<List<QaqcRow>>();

                    foreach (QaqcRow qaqcRow in ls)
                    {
                        Debug.WriteLine(qaqcRow.GetValue("BusinessUnit"));
                    }
                }
            }
            catch (Exception) …
Run Code Online (Sandbox Code Playgroud)

c# web-services httpclient asp.net-web-api

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

返回SqlDataReader

我试图通过引用传递读者或返回一个.我在回归时遇到了问题.

public static SqlDataReader GetSql(string businessUnit, string taskId)
{
            const string connstring = "Connection string";
            SqlConnection conn = new SqlConnection(connstring);
            SqlCommand command = new SqlCommand();
            SqlDataReader reader;
            try
            {
                conn.Open();
                command.Connection = conn;
                command.CommandType = CommandType.Text;
                command.CommandText =
                    "SELECT * FROM Audits WHERE BusinessUnit = @BU AND TaskID = @TID";
                command.Parameters.AddWithValue("@BU", businessUnit);
                command.Parameters.AddWithValue("@TID", taskId);
                return reader = command.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                return null;
            }
            finally
            {
                conn.Close();
            }
}


SqlDataReader reader = QaqcsqlLib.GetSql("job", "Task1");

if (reader.HasRows)
{
   while …
Run Code Online (Sandbox Code Playgroud)

c# sql-server

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

WPF Combobox问题

这只是一个快速的问题.

我有两个组合框,其中一个具有硬编码的数据:

<ComboBox>
    <ComboBoxItem/>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

当我尝试在SelectionChanged上使用case语句时,我得到Convert.ToString(cboForm.SelectedValue): "System.Windows.Controls.ComboBoxItem: Directional Bore"一个值.

现在在同一个表单上,我有另一个组合框,其中包含我填充的数据,comboboc.items.add()并且SelectionChanged之后的组合框的值是实际文本值.

有什么我可以做到没有"System.Windows.Controls.ComboBoxItem: "选定的值吗?

案例陈述:

string caseSwitch = cboForm.SelectedValue.ToString();
switch (caseSwitch)
{
    case "System.Windows.Controls.ComboBoxItem: Directional Bore":
    {
        ReportClass.DirBoreReport("","","");
        cboForm.SelectedIndex = -1;
        //MainAccess.Mw.SpecificForm = false;
        //MainAccess.Mw.frmPage.Height = 4400;
        //MainAccess.Mw.HoldPage = new Uri("DirectionalBore_Combined.xaml", UriKind.Relative);
        //if (NavigationService != null) NavigationService.Source = MainAccess.Mw.HoldPage;
        //MainAccess.Mw.SectionBar_DirectionalBore.Visibility = Visibility.Visible;
        //MainAccess.Mw.scroll.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
        //MainAccess.Mw.lblForm.Content = "DIRECTIONAL BORE";
        //MainAccess.Mw.Sbar = MainAccess.Mw.SectionBar_DirectionalBore;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML:

<ComboBox x:Name="cboForm" TabIndex="3" HorizontalAlignment="Left" Margin="746,618,0,0" VerticalAlignment="Top" Width="630" FontSize="48" FontWeight="Bold" Height="74" …
Run Code Online (Sandbox Code Playgroud)

c# wpf combobox

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

SSRS报告中不需要的分页符

我有一个在Business Intelligence Studio 2008中构建的RDL报告,我遇到了一个不需要的分页符问题.

我有一个数据集,其中包含一个带有一些求和数据的单表.我已添加到列表中并添加了两个组.

在此输入图像描述

我甚至检查了每个的分页属性.

在此输入图像描述

在此输入图像描述

该报告工作正常,但我最顶级的组似乎是分页,在开头留下额外的页面.

我想要发生的是让最顶层的组是页眉,第二组是细节的组头.我是以错误的方式来做这件事的吗?

ssrs-2008

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

缺少dbcommand.parameters的addwithvalue

我正在构建一个sqlwrapper来处理MSsql和Sqlite,到目前为止我没有使用通用dbconnection,dataset和dataadapter的问题,但是使用dbcommand parameters.add是唯一的选择.我想像sqlcommand和sqlitecommand那样使用parameter.addwithvalue,但我不确定如何实现它.

例如,这是我的sqlitefactory:

public class SqlLiteFactory : SqlFactory
{
    public override DbConnection CreateConnection()
    {
        return new SQLiteConnection(ConfigurationManager.ConnectionStrings["ClientDBConnectionString"].ConnectionString);
        //return new SQLiteConnection("Data Source=Resources\\qaqc.sqlite;Version=3");
    }

    public override DataAdapter CreateAdapter(string command, DbConnection connection)
    {
        return new SQLiteDataAdapter(command, connection as SQLiteConnection);
    }

    public override DbCommand CreateCommand()
    {
        return new SQLiteCommand();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的实现:

DbConnection c = SqlHandler.Instance.CreateConnection();

DbCommand cmd = SqlHandler.Instance.CreateCommand();

cmd.Connection = c;
cmd.CommandText = "SELECT column FROM table WHERE syncstatus = 0 and UserName = @user GROUP BY column;";
cmd.Parameters.Add("@user");
cmd.Parameters["@user"].Value = SystemInformation.UserName; …
Run Code Online (Sandbox Code Playgroud)

sql ado.net

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

SQLDataReader Null到datetime

从读取器转换日期时间时出现问题,其值为null.

form._date101 = reader[52] == DBNull.Value ? DBNull.Value : (DateTime?)reader[52];
Run Code Online (Sandbox Code Playgroud)

获取:无法确定条件表达式的类型,因为'System.DBNull'和'System.DateTime?'之间没有隐式转换

有任何想法吗?

c#

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