【发布时间】:2013-12-04 11:53:39
【问题描述】:
我正在使用asmx 网络服务将用户在网站上输入的数据输入到我的数据库中名为Booking 的表中。
我已确保该表存在于我正在使用的架构中,并且我已经测试了我的连接字符串并且它工作正常。但是,每次我运行该服务时,它似乎都看不到有问题的表,并且浏览器给了我这个错误:
System.Data.SqlClient.SqlException:对象名称“Booking”无效。
调试后说问题出在第 31 行
第 31 行:ws.addBooking(name, email, restaurant, add1, add2, add3, 县, 电话, 信息);
这是与该行相关的完整代码:
protected void Button1_Click(object sender, EventArgs e)
{
//Get info
String name = TextBox1.Text.ToString();
String email = TextBox2.Text.ToString();
String restaurant = TextBox3.Text.ToString();
String add1 = TextBox4.Text.ToString();
String add2 = TextBox5.Text.ToString();
String add3 = TextBox6.Text.ToString();
String tel = TextBox7.Text.ToString();
String county = DropDownList1.Text.ToString();
String info = TextArea1.Text.ToString();
//Call web service
Customers ws = new Customers();
//Pass in parameters
ws.addBooking(name, email, restaurant, add1, add2, add3, county, tel, info);
}
这是被调用的网络方法addBooking。
public void addBooking(String n, String e, String r, String a1, String a2, String a3, String c, String t, String i)
{
string sql = "INSERT INTO Booking VALUES(@n, @e, @r, @t, @c, @i, @a1, @a2, @a3)";
using (var conn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;AttachDbFilename=C:\\Users\\n00093500\\Desktop\\MMCA2\\APP_DATA\\NORTHWIND.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"))
using (var cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add("@n", SqlDbType.VarChar, 50).Value = n;//name
cmd.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = e;//email
cmd.Parameters.Add("@r", SqlDbType.VarChar, 50).Value = r;//restaurant
cmd.Parameters.Add("@t", SqlDbType.VarChar, 50).Value = t;//telephone
cmd.Parameters.Add("@c", SqlDbType.VarChar, 50).Value = c;//county
cmd.Parameters.Add("@i", SqlDbType.VarChar, 1000).Value = i;//info
cmd.Parameters.Add("@a1", SqlDbType.VarChar, 50).Value = a1;//address
cmd.Parameters.Add("@a2", SqlDbType.VarChar, 50).Value = a2;//address
cmd.Parameters.Add("@a3", SqlDbType.VarChar, 50).Value = a3;//address
conn.Open();
cmd.ExecuteNonQuery();
}
}
谁能帮我破译可能导致此问题的原因?
尝试在 Visual Studio 2010 中使用 server explorer 运行此查询...
INSERT INTO Booking(name, email, restaurant, telephone, county, info, add1, add2, add3)
VALUES(John Doe,johndoe@hotmail.com,Johns Restaurant, 1234567,Dublin,Test info,4,Main street,Kinsale)
得到这个错误
Doe 附近的语法不正确
【问题讨论】:
-
您的连接使用集成安全性,这意味着它具有不同的权限,具体取决于用户帐户。检查用于启动 Web 服务的帐户。它必须与您的权限相同。
-
而且...字符串值必须用引号引起来
标签: asp.net sql-server web-services