真不明白,你为什么这样链数据库 为什么不用dsn呢? Set Conn=Server.CreateObject("ADODB.Connection") Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass "多简单!
Set Conn=Server.CreateObject("ADODB.Connection") Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass" Set Rs=Server.CreateObject("adodb.recordset") Rs.open "select * from yourtable" 下面就可以操作了
sorry,错了,这样: Rs.open "select * from yourtable" ,conn,1,3
conn = "Provider=SQLOLEDB; Integrated Security=SSPI; Initial Catalog=AddressDB;"
有什么问题
为什么不用dsn呢?
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass
"多简单!
Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass"
Set Rs=Server.CreateObject("adodb.recordset")
Rs.open "select * from yourtable"
下面就可以操作了
Rs.open "select * from yourtable" ,conn,1,3
至于什么是dsn,不是一两句能说情的,你看看书吧
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>贴段代码给你
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %><html>
<script language="C#" runat="server"> SqlConnection myConnection; protected void Page_Load(Object Src, EventArgs E)
{
myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes"); if (!IsPostBack)
BindGrid();
} public void AddAuthor_Click(Object sender, EventArgs E)
{
Message.InnerHtml = ""; if (Page.IsValid)
{ String insertCmd = "insert into Authors (au_id, au_lname, au_fname, phone, address, city, state, zip, contract) values (@Id, @LName, @FName, @Phone, @Address, @City, @State, @Zip, @Contract)"; SqlCommand myCommand = new SqlCommand(insertCmd, myConnection); myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar, 11));
myCommand.Parameters["@Id"].Value = Server.HtmlEncode(au_id.Value); myCommand.Parameters.Add(new SqlParameter("@LName", SqlDbType.NVarChar, 40));
myCommand.Parameters["@LName"].Value = Server.HtmlEncode(au_lname.Value); myCommand.Parameters.Add(new SqlParameter("@FName", SqlDbType.NVarChar, 20));
myCommand.Parameters["@FName"].Value = Server.HtmlEncode(au_fname.Value); myCommand.Parameters.Add(new SqlParameter("@Phone", SqlDbType.NChar, 12));
myCommand.Parameters["@Phone"].Value = Server.HtmlEncode(phone.Value); myCommand.Parameters.Add(new SqlParameter("@Address", SqlDbType.NVarChar, 40));
myCommand.Parameters["@Address"].Value = Server.HtmlEncode(address.Value); myCommand.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 20));
myCommand.Parameters["@City"].Value = Server.HtmlEncode(city.Value); myCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.NChar, 2));
myCommand.Parameters["@State"].Value = state.Value; myCommand.Parameters.Add(new SqlParameter("@Zip", SqlDbType.NChar, 5));
myCommand.Parameters["@Zip"].Value = Server.HtmlEncode(zip.Value); myCommand.Parameters.Add(new SqlParameter("@Contract", SqlDbType.NVarChar,1));
myCommand.Parameters["@Contract"].Value = contract.Value; myCommand.Connection.Open(); try
{
myCommand.ExecuteNonQuery();
Message.InnerHtml = "<b>Record Added</b><br>" + insertCmd + "<p>";
}
catch (SqlException e)
{
if (e.Number == 2627)
Message.InnerHtml = "ERROR: A record already exists with the same primary key<p>";
else
Message.InnerHtml = "ERROR: Could not add record, please ensure the fields are correctly filled out<p>";
Message.Style["color"] = "red";
} myCommand.Connection.Close();
} BindGrid();
} public void BindGrid()
{
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection); DataSet ds = new DataSet();
myCommand.Fill(ds, "Authors"); MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;
MyDataGrid.DataBind();
}</script>
……
myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");中的server改为sql server的机器名字就可以了