小编ars*_*ars的帖子

如何使用 Dapper 在客户端获取原始 SQL 错误消息?

我想用一个例子来说明我的情况。

假设我们有存储过程,并且该过程包含这几行 SQL 代码

BEGIN TRY  
    -- Generate a divide-by-zero error.  
    SELECT 1/0;  
END TRY  
BEGIN CATCH  
    throw
END CATCH;  
GO  
Run Code Online (Sandbox Code Playgroud)

当然,如果我们执行这个 sp,它会返回被零除的异常:

遇到除以零错误

是否可以使用 Dapper 获取 SQL 抛出消息?这是 dapper 请求电话

 var data = sqlConnection.QueryFirstOrDefault<response>(QueryConstants.SpXXX,
 parameters, null, Constants.DAPPER_TIMEOUT, CommandType.StoredProcedure);
Run Code Online (Sandbox Code Playgroud)

我正在使用 sql server 2017 和 Dapper 1.50.4.0

Github 问题 #959

c# sql-server orm exception-handling dapper

5
推荐指数
0
解决办法
1979
查看次数

ZXing QrCode 渲染器异常与 .Net Core 2.1

我想使用 ZXing(0.16.4) 创建一个二维码但我遇到以下异常,

System.InvalidOperationException: '您必须设置渲染器实例。'

几乎相同的代码适用于 .Net Framework 4.6.1

这是我的代码

static void Main(string[] args)
{
    var qrCode = CreateQrCode("test");
    Console.ReadKey();
}

public static byte[] CreateQrCode(string content)
{
    BarcodeWriter<Bitmap> writer = new BarcodeWriter<Bitmap>
    {
        Format = BarcodeFormat.QR_CODE,
        Options = new QrCodeEncodingOptions
        {
            Width = 100,
            Height = 100,
        }
    };

    var qrCodeImage = writer.Write(content); // BOOM!!

    using (var stream = new MemoryStream())
    {
        qrCodeImage.Save(stream, ImageFormat.Png);
        return stream.ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# qr-code zxing .net-core zxing.net

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

C# POST JSON 请求到 Google Vision

被锁定在 .NET 2.0 上,我无法使用 GOOGLE VISION C# API,它仅在 .NET 4.0 之后可用。

所以我想在这样的网络请求中使用这个 API:

string webAddr = "https://vision.googleapis.com/v1/images:annotate?key=XXXXXXXXXXX";

var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    string json = " { \"requests\": [ { \"image\": { \"content\": " + this.b64 + " }, \"features\": [ {\"type\": \"TEXT_DETECTION\" }] }] }";

    streamWriter.Write(json);
    streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
    var responseText = streamReader.ReadToEnd();
    Console.WriteLine(responseText); 
}
Run Code Online (Sandbox Code Playgroud)

问题是我从谷歌永久获得了 …

c# post

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

如何在 C# 中循环访问对象中的所有字段?

我有一个这样的对象:

public class Filters {
    public int var1 = 1, 
          var2 = 2, 
          var3 = 3;
}
Run Code Online (Sandbox Code Playgroud)

我在这里声明这个对象:

Filters filter1 = new Filters();
Run Code Online (Sandbox Code Playgroud)

我想循环访问var1var2、 并用它做一些事情。var3IE:

foreach (var prop in filter1.props) {
    Console.WriteLine(filter1[prop] + 3);
}
Run Code Online (Sandbox Code Playgroud)

输出将是:

4
5
6
Run Code Online (Sandbox Code Playgroud)

我想我需要使用 foreach 循环为每个属性做一个 foreach 循环 foreach(PropertyInfo p in filter1.GetType().GetProperties()),但我不知道如何 1) 循环遍历 props var1、var2、var3 和 2) 如何使用存储filter1在变量中的名称对 prop 进行子集化

c# reflection

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