2012-07-27 3 views
0

데이터베이스 이름 ONLINEEXAM오류 동안

나는 DB에서 여러 테이블을 가지고 있고 일부 테이블 이름을 나열 할이 asp.net에서 드롭 다운리스트에서 문자로 "로 설정 %를"시작입니다 .

나는 다음과 같은 코드를 사용하고 난 오류를 받고 있어요 : 잘못된 개체 이름은

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack == false) 
    { 
     paperset(); 
    } 
} 


private void paperset() 
{ 
    try 
    { 
     string conn = ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString; 
     SqlConnection con = new SqlConnection(conn); 
     con.Open(); 

     SqlCommand cmd = new SqlCommand(
      "select * from ONLINEEXAM.dbo.sysobjects where name like 'Set%'", con); 
     SqlDataReader dr = cmd.ExecuteReader(); 

     while (dr.Read()) 
     { 
      ListItem item = new ListItem(); 
      item.Value = dr[0].ToString(); 
      papersetlist.Items.Add(item); 
     } 

     dr.Close(); 
     con.Close(); 
    } 
    catch (System.Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
    finally { } 
} 
+0

시도 모든 테이블을 얻기 위해 이것을 사용 w/O를 –

+0

이 선택 *을 sysobjects에서 이름과 같은 '설정 %'와 같은 이름 dB 무엇 당신의 연결 고리입니까? – Pleun

+0

@WaqarJanjua 쿨 ... 정말 일했습니다 ... Thanx a Ton !! –

답변

1

가 다른 데이터베이스에 대해 쿼리를 실행 할 수 있음을 . 이

SqlCommand cmd = new SqlCommand("select * from sys.objects where name like 'Set%'", con); 

을 시도하거나 쿼리를 실행

select * from sys.tables where name like 'Set%' 
0

은 사용자 ID가 sysobjects 테이블에 액세스 할 수있는 확인하기 위해 살펴 보자 ONLINEEXAM.dbo.sysobjects. 당신을 가정 는 SQL2005를 실행하고있는 이상, 당신은 또한 INFORMATION_SCHEMA 스키마를 볼 수 있고, TABLES보기 검토 : 당신이 그것을 확인하기 위해 SQL Server의 쿼리 실행

Select TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE 
from [database.]INFORMATION_SCHEMA.TABLES