c# - Application.StartupPath 指向 C:program files x86/Microsoft Visual Studio/2019/Community/Common 7/IDE 文件夹
问题描述
我正在用 C# 开发一个 WinForms 应用程序,我想通过下面类中的代码将我的访问数据库连接到我的应用程序,但是 application.StartupPath 没有指向包含我的应用程序可执行文件的 bin/debug 文件夹,而是它指向到这个 C:program files x86/Microsoft Visual Studio/2019/Community/Common 7/IDE 文件夹,我的应用程序文件甚至不在 C 盘中我不知道是什么导致了问题。
这是我的代码:
enter code here
using System;
using System.Configuration;
using System.Data.OleDb;
using System.Windows.Forms;
namespace GradeApplicationForm.Models
{
public static class Connector
{
public static OleDbConnection Connect()
{
return new OleDbConnection($@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"grades.accdb");
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Data;
using Dapper;
using GradeApplicationForm.Models;
using System.Data.OleDb;
namespace GradeApplicationForm.DataAccess
{
class StudentDataAccess
{
public List<StudentsModel> getStudents()
{
using (OleDbConnection connection = Connector.Connect())
{
string sql = "SELECT * FROM tbl_StudentInfo";
var result = connection.Query<StudentsModel>(sql).ToList();
return result;
}
}
public bool InsertStudent(string Name, string Age,string Phone,string City,string Department,string UserId)
{
bool value;
using (OleDbConnection connection = Connector.Connect())
{
connection.Open();
List<StudentsModel> students = new List<StudentsModel>();
if (string.IsNullOrEmpty(Name) || string.IsNullOrEmpty(Age)||string.IsNullOrEmpty(Phone)|| string.IsNullOrEmpty(City))
{
value = false;
}
else
{
students.Add(new StudentsModel { Name = Name, Age= int.Parse(Age) ,Phone=Phone,City=City,Department=Department,UserId=int.Parse(UserId)});
connection.Execute("INSERT INTO [tbl_StudentInfo](Name,Age,Phone,City,Department,UserId) values(@Name,@Age,@Phone,@City,@Department,@UserId)", students);
value = true;
}
return value;
}
}
public bool DeleteStudent(int ID)
{
bool value;
using (OleDbConnection connection = Connector.Connect())
{
connection.Open();
List<StudentsModel> students = new List<StudentsModel>();
if (ID==0)
{
value = false;
}
else
{
students.Add(new StudentsModel { ID=ID});
connection.Execute("Delete From [tbl_StudentInfo] WHERE ID=@ID", students);
value = true;
}
return value;
}
}
}
}
和错误:
解决方案
推荐阅读
- google-sheets - ARRAYFORMULA FILTER VLOOKUP 解决方案多条件公式谷歌表
- node.js - 在上传到服务器之前在 Nodejs 中进行病毒扫描
- javascript - 如何在javascript中从内部JSON数组创建具有一些属性的数组
- sql - 如何使用 Teradata sql 匿名表中的行?
- botframework - 如何使用 LUIS 和 Azure Bot 提供自定义答案
- .net-core - 跨多个应用程序的 Identityserver4 授权(Grafana、.net API)
- php - 自动完成 - 从 MySQL 数据库中检索结果
- asp.net - 将 asp.net 应用程序迁移到 Microsoft Edge 时出现问题(版本 91.0.864.70(官方版本)(64 位))
- node.js - 将 MERN 堆栈 docker 容器绑定到服务器的本地 ip 并使用 VPS 访问它
- parsing - 如何在 flex/lex 中更改动作之外的“开始条件”?