我们正在尝试构建一个仅适用于 Intranet 的服务台票务系统。决定使用 Visual Studio 2008 Express 的 ASP .NET (C#)(如果需要的话,我们有一个完整版本)。没什么花哨的,几页抓取 NTLM 信息、系统信息并将其与问题一起存储在数据库中。目标是使其简单,但管理员希望我使用 MS Access,而不是使用我们的 SQL Server 2000 后端。我的 GridView 和连接运行顺利。可以拉选查询,直到我心满意为止。但是,将几个变量与提交按钮上的文本框绑定(bind)到 INSERT 语句中......好吧,我什至不知道从哪里开始使用 MS Access。每个互联网示例都是用 VB .NET 编写的,而且似乎是手动编码,Visual Studio 已经为我完成了只需点击几下鼠标即可完成的工作。
对于我们想做的一切来说,MS Access 是否会变得太难?如果没有,我们从哪里开始简单地将这些数据提交到表中?
编辑:经过一番尝试后,OleDB 可以正常工作了。这并不漂亮,是的,SQL Server 会很棒,但是,有时您只需要发挥作用。
编辑:任何寻找实际编码答案的人都在这里。一定还有其他人在同一条船上。
string userIP = Request.UserHostAddress.ToString();
string userDNS = Request.UserHostName.ToString();
string duser = Request.ServerVariables["LOGON_USER"]; //NTLM Domain\Username
string computer = System.Environment.MachineName.ToString(); //Computer Name
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\helpdesk.MDB;";
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO ticketing ([user], [comp], [issue]) VALUES (@duser, @computer, @col3)";
cmd.Parameters.Add("@duser", OleDbType.VarChar).Value = duser;
cmd.Parameters.Add("@computer", OleDbType.VarChar).Value = computer;
cmd.Parameters.Add("@col3", OleDbType.LongVarChar).Value = TextBox1.Text;
cmd.ExecuteNonQuery();
conn.Close();
最佳答案
管理员疯了。 Access 是一个进程内
数据库,因此不太适合用户创建或更新记录的网站。
但就创建 INSERT 查询而言,Access 并不比其他查询更难。如果您无法为 Access 创建 INSERT 查询,那么您在使用 SQL Server 时也可能会遇到问题。
关于c# - 从 ASP.NET 插入到 MS Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/459442/