我们正在尝试建立一个专门用于内联网的服务台票务系统。决定使用 Visual Studio 2008 Express 的 ASP .NET (C#)(如果需要的话,我们有一个完整版本)。没什么花哨的,几页抓取 NTLM 信息、系统信息并将其与问题一起存储在数据库中。目标是使其简单,但管理员希望我使用 MS Access,而不是使用我们的 SQL Server 2000 后端。我的 GridView 和连接运行顺利。可以拉选查询,直到我心满意为止。但是,将几个变量与提交按钮上的文本框绑定到 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();
管理员疯了。访问是一个in-process
数据库,因此不太适合用户创建或更新记录的网站。
但就创建 INSERT 查询而言,Access 并不比其他查询更难。如果您无法为 Access 创建 INSERT 查询,那么您在使用 SQL Server 时也可能会遇到问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)