asp.net通过ADODB连接数据库sqlserver

第一次碰到了通过ADODB去连接数据库。所以就把连接做个记录~~~~

  ADODB.Connection Conn = new ADODB.Connection(); ADODB.Recordset Rs = new ADODB.Recordset(); Rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient; //设置为客户端属性 Rs.CacheSize = 1; bool bolOut = true; string DBStr = ""; DBStr = "Driver={SQL Server};Server=127.0.0.1;Database=northwind;Trusted_Connection=yes"; Conn.Open(DBStr, "sa", "sasa", -1); Rs.Open(Sql, Conn, (ADODB.CursorTypeEnum)1, (ADODB.LockTypeEnum)1, -1); if (Rs.EOF) //判断数据是否存在 不存在返回true 存在返回false { bolOut = false; } Rs.Close(); Conn.Close(); Rs = null; Conn = null;

 

 /**************************************/ //取某页的记录 MianInfo[] info = { }; Rs.Open(String.Format("select oid,* from maininfo where {0} {1} limit {2} offset {3}", stbWhere.ToString(), strOrder, PageSize, (CurrentPage - 1) * PageSize), con, (ADODB.CursorTypeEnum)1, (ADODB.LockTypeEnum)1, -1); if (!Rs.EOF) { info = new MianInfo[Rs.RecordCount]; //MianInfo为一个结构 int len = info.GetUpperBound(0) + 1; for (int i = 0; i < len; i++) { info[i] = FillMainInfo(Rs.Fields); //填充 Rs.MoveNext(); } } Rs.Close(); //将Recordset转换成DataTable public static DataTable RecordsetToDataTable(Recordset Rs,string TableName) { if (!Rs.EOF) { Rs.MoveFirst();//将记录指针移动到记录集中的第一条记录。它以第一条记录作为当前记录。 } DataTable dt = new DataTable(TableName); DataRow dr; string strcolname; Type t; //循环加载列名 for (int i = 0; i < Rs.RecordCount - 1;i++ ) { strcolname = Rs.Fields[i].Name; t = Rs.Fields[i].Value.GetType(); dt.Columns.Add(strcolname, t); } //开始加载数据 while(!Rs.EOF) { dr = dt.NewRow(); for (int j = 0; j < Rs.Fields.Count - 1; j++) { string val = Rs.Fields[j].Value.ToString(); switch (Rs.Fields[j].Value.GetType().ToString()) { case "System.Boolean": dr[j] = Convert.ToBoolean(val); break; case "System.Byte": dr[j] = Convert.ToByte(val);break; case "System.Char": dr[j] = Convert.ToChar(val); break; case "System.DateTime": dr[j] = Convert.ToDateTime(val); break; case "System.Decimal": dr[j] = Convert.ToDecimal(val); break; case "System.Double": dr[j] = Convert.ToDouble(val); break; case "System.Int16": dr[j] = Convert.ToInt16(val); break; case "System.Int32": dr[j] = Convert.ToInt32(val); break; case "System.Int64": dr[j] = Convert.ToInt64(val); break; case "System.SByte": dr[j] = Convert.ToSByte(val); break; case "System.Single": dr[j] = Convert.ToSingle(val); break; case "System.String": dr[j] = val; break; case "System.UInt16": dr[j] = Convert.ToUInt16(val); break; case "System.UInt32": dr[j] = Convert.ToUInt32(val); break; case "System.UInt64": dr[j] = Convert.ToUInt64(val); break; default: break; } } dt.Rows.Add(dr); Rs.MoveNext();//将记录指针移动到记录集中的下一条记录。它以下一条记录作为当前记录 } return dt; }

 

你可能感兴趣的:(sql,数据库,server,String,database,asp.net,sqlserver)