感谢一些帮助,我解决了以前的一些问题,但是当我点击注册按钮(button1
)时,我收到以下错误:
ERROR = ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Odbc;
public partial class CompanyLogin : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = @".\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\VCtemps.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
string sql = "insert into company values(@CompName, @BusinessType, @Pword)";
OdbcCommand cmd = new OdbcCommand(sql);
string CompName = txtCompName.Text;
string BusinessType = DropDownList1.Text;
string Pword = txtPassword.Text;
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "insert into company(CompName, BusinessType, Pword) Values(@CompName,@BusinessType,@Pword);";
cmd.Parameters.AddWithValue("@CompName",SqlDbType.VarChar);
cmd.Parameters.AddWithValue("@BusinessType",SqlDbType.VarChar);
cmd.Parameters.AddWithValue("@Pword",SqlDbType.VarChar);
cmd.ExecuteNonQuery();
conn.Close();
txtCompName.Text = "";
txtPassword.Text = "";
DropDownList1.Text = "";
}
}
答案 0 :(得分:2)
非常自我解释的错误消息。您需要在连接字符串中指定数据源和驱动程序。访问Connection Strings for Database以查找您要定位的数据库的连接字符串应该是什么样的。
答案 1 :(得分:0)
在你的连接字符串中,你已经逃脱了你的黑色瑕疵而你已经在字符串前面使用了@符号。问题可能是你已经做到了。删除@或删除两个地方的双斜杠。
@".\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\VCtemps.mdf...etc
...但说实话,你不应该像这样对你的连接字符串进行硬编码。您应该将连接字符串添加到web.config文件到ConnectionStrings部分:
<configuration>
<connectionStrings>
<add name="ConnectionString" connectionString=".\SQLEXPRESS;AttachDbFilename=|DataDirectory|\VCtemps.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" />
</connectionStrings>
...
然后将您的代码更改为:
conn.ConnectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;