我的代码包含两个方法。
第一种方法是用于(插入、更新和删除),第二种方法是从数据库读取数据。
//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) 在更改目标框架并更新 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__2313.MoveNext() …
我正在尝试从 packages.config 迁移到 PackageReference
我做了所有步骤,但总是以这个错误告终:
本地源 'C:\Program Files (x86)\DevExpress 19.1\Components\System\Components\Packages' 不存在
我有这段代码从数据库中获取数据
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)