我可以在后端使用 MS-Access 而不是 MYSQL

Posted

技术标签:

【中文标题】我可以在后端使用 MS-Access 而不是 MYSQL【英文标题】:Can I Use MS-Access in back end instead of MYSQL 【发布时间】:2017-02-17 07:01:01 【问题描述】:

我想在我的 C# .net 软件中使用 MS-Access 代替 mysql,所以这可以在基于 Web 和基于 Windows 的软件/应用程序中使用 Access as an back end

请帮帮我。

【问题讨论】:

我确信这是可能的(至少在具有本地副本的 Windows 应用程序中),但是为什么要使用 Access 而不是 MySQL? Access 通常不被视为“严肃”的数据库。尤其是当有这么多更强大的选项可用时,几乎没有成本。 实际上我想在我的服务器上让我的软件在线,因为服务器有一个 Windows 操作系统,所以我可以轻松地使用访问权限而不是在他们的服务器上安装 sql server 然后使用它。 我强烈建议 Windows 服务器使用 SQL Server Express 与 Access。如果你在 Access 上死心塌地,那么将 access 放在服务器上,看看你的应用是否可以连接。 哦,谢谢你的建议#Tim。 是的,两种情况都有可能。但是,将 Access 用于 Web 应用程序只是自找麻烦。就个人而言,我永远不会考虑它。对于 Windows 应用程序,它可以很好地工作,这取决于许多因素(您需要做一些研究)。使用独立应用程序(如内置 C#),您无需安装 Access。只有正确的驱动程序。 【参考方案1】:

请勿将 Access 用于任何基于 Web 的事物。使用 SQL Server Express。类似下面的代码应该适合你。

using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient; 

namespace WindowsApplication1

    public partial class Form1 : Form
    
        public Form1()
        
            InitializeComponent();
        

        private void button1_Click(object sender, EventArgs e)
        
            string connetionString = null;
            SqlConnection sqlCnn ;
            SqlCommand sqlCmd ;
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataSet ds = new DataSet();
            int i = 0;
            string sql = null;

            connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
            sql = "Select * from product";

            sqlCnn = new SqlConnection(connetionString);
            try
            
                sqlCnn.Open();
                sqlCmd = new SqlCommand(sql, sqlCnn);
                adapter.SelectCommand = sqlCmd;
                adapter.Fill(ds);
                for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
                
                    MessageBox.Show(ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]);
                
                adapter.Dispose();
                sqlCmd.Dispose();
                sqlCnn.Close();
            
            catch (Exception ex)
            
                MessageBox.Show("Can not open connection ! ");
            
        
    

【讨论】:

以上是关于我可以在后端使用 MS-Access 而不是 MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

SQL/ms-access 中的条件仅考虑月份中的某一天,而不是完整日期

Nodemon:是不是可以仅在后端文件中而不是在静态前端文件中重新启动 Node js 服务器?

生成 html 时是不是可以在后端添加“onchange”html/js 事件?如果是这样,怎么做?

如果我代理来自前端的所有连接,是不是需要在后端安装 SSL?

如何在后端动态定义 Autolayout

flutter_bloc - 为啥在 UI 而不是后端声明存储库?