小编M.B*_*lah的帖子

检查查询字符串是否传递给“string SqlCommand.CommandText”

我的代码包含两个方法。

第一种方法是用于(插入、更新和删除),第二种方法是从数据库读取数据。

//Method to insert, update and delete data from database
public async Task ExcuteCommande(string stored_procedure, SqlParameter[] param)
{
    using (SqlCommand sqlcmd = new SqlCommand())
    {
        if (string.IsNullOrEmpty(stored_procedure))
        {
            return;
        }
        sqlcmd.CommandType = CommandType.StoredProcedure;
        sqlcmd.CommandText = stored_procedure;
        sqlcmd.Connection = sqlconnection;
        if (param != null)
        {
            sqlcmd.Parameters.AddRange(param);
        }
        await sqlcmd.ExecuteNonQueryAsync().ConfigureAwait(false);
    }
}

//Method to read data from database
public async Task<DataTable> SelectData(string stored_procedure, SqlParameter[] param)
{
    using (SqlCommand sqlcmd = new SqlCommand())
    {
        if (string.IsNullOrEmpty(stored_procedure))
        {
            return null;
        }
        sqlcmd.CommandType = …
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

从 .net6 升级到 .net7 Rc1 时违反类型“T”的约束

在更改目标框架并更新 NuGet 包后,我尝试将我的 WinForms 项目从 .net6 升级到 .net7 Rc1,当我运行该项目时,出现此错误

“T MaxFloatT”上的 GenericArguments[0]、“System.Int32”违反了类型“T”的约束。

在这行代码上

System.Windows.Forms.Application.Run(host.Services.GetRequiredService<XtraMain>());
Run Code Online (Sandbox Code Playgroud)

这是Program.cs中的代码

    [STAThread]
    private static void Main()
    {
        WindowsFormsSettings.ForceDirectXPaint();
        DevExpress.UserSkins.BonusSkins.Register();
        DevExpress.Skins.SkinManager.EnableFormSkins();
        System.Windows.Forms.Application.EnableVisualStyles();
        System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
        System.Windows.Forms.Application.SetHighDpiMode(HighDpiMode.SystemAware);
        
        using IHost host = CreateHostBuilder().Build();
        System.Windows.Forms.Application.Run(host.Services.GetRequiredService<XtraMain>());


    }

    private static IHostBuilder CreateHostBuilder() =>Host.CreateDefaultBuilder()
            .ConfigureAppConfiguration((context, builder) =>
            {
                builder
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables(); 
            })
            .ConfigureServices((context, services) =>
            {
                services.AddScoped<XtraMain>();
                services.AddPersistenceServices(context.Configuration);
                services.AddApplicationServices();
                services.AddSingleton<IFormFactory, FormFactory>();
            });
Run Code Online (Sandbox Code Playgroud)

这是 StackTrace:

在System.RuntimeType.ValidateGenericArguments(MemberInfo定义,RuntimeType [] genericArguments,Exception e)在System.Reflection.RuntimeMethodInfo.MakeGenericMethod(Type [] methodInstantiation)在AutoMapper.Internal.TypeDetails。<> c__DisplayClass25_1.b__10(MethodInfo扩展方法)在系统.Linq.Enumerable.WhereSelectArrayIterator 2.MoveNext() at System.Linq.Enumerable.ConcatIterator1.MoveNext() 在 System.Linq.Enumerable.d__231 3.MoveNext() …

c# automapper winforms .net-7.0

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

本地源不存在从packages.config迁移到PackageReference

我正在尝试从 packages.config 迁移到 PackageReference
我做了所有步骤,但总是以这个错误告终:

本地源 'C:\Program Files (x86)\DevExpress 19.1\Components\System\Components\Packages' 不存在

我不知道为什么会发生这个问题,因为现在我正在使用 DevExpress 19.2
任何建议,提前致谢。 在此处输入图片说明

c# devexpress winforms nuget nuget-package

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

Task &lt;DataTable&gt;不包含“行”的定义

我有这段代码从数据库中获取数据

public async Task<DataTable> SelectData(string stored_procedure, SqlParameter[] param)
    {
        SqlCommand sqlcmd = new SqlCommand();
        sqlcmd.CommandType = CommandType.StoredProcedure;
        sqlcmd.CommandText = stored_procedure;
        sqlcmd.Connection = sqlconnection;
        if (param != null)
        {
            sqlcmd.Parameters.AddRange(param);
        }

        SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
        DataTable dt = new DataTable();
        await Task.Run(()=> da.Fill(dt));
        return dt;
    }
Run Code Online (Sandbox Code Playgroud)

我用这段代码运行存储过程

public async Task<DataTable> GetOrderManagementManagerEmail()
    {
        DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
        DataTable dt = new DataTable();
        dt =await DAL.SelectData("GetOrderManagementManagerEmail", null);
        DAL.Close();
        return dt;
    }
Run Code Online (Sandbox Code Playgroud)

然后我在单击按钮时使用此代码

private async void btnValidate_Click(object sender, EventArgs e)
    {
        int[] …
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

标签 统计

c# ×4

winforms ×4

.net-7.0 ×1

automapper ×1

devexpress ×1

nuget ×1

nuget-package ×1