2016-06-17 45 views
0

請原諒我,如果我沒有很好地解釋它,因爲我對數據庫沒有任何知識,也沒有誠實的HTML。是否有可能在HTML5中有一個可搜索的輸入表列,從數據庫中提取數據?如果是這樣,怎麼樣?

我想製作一個網頁,可以從數據庫中提取客戶端名稱,並且用戶可以搜索他們想要的客戶端名稱併爲每個選定的客戶端輸入其他信息。

我相信我對數據庫本身的訪問非常有限,並且唯一可以通過Visual Studio查看數據的地方。在Visual Studio(xxxx.net)中連接到數據庫後,它顯示xxxx.dbo,在它下面我可以看到表格。

我可以知道,如果我只能對.dbo文件進行只讀訪問,那麼是否可以提取數據?我可以在谷歌的幫助下創建一個帶有添加/刪除行功能的表格。

我可能不需要完成整個項目,如果我可以創建一個網頁並顯示它可以工作,並且比每月更新60個Excel文件(不同列表)中的客戶端下拉列表更好。

+0

這是一個乏味而模糊的問題。你不能用普通的html訪問數據庫,你需要'某些'與數據庫進行交互並將結果輸出到客戶端。這就是asp.net,php和其他工具的用途。 – Paolo

+0

我正在使用Aptana,我明白我需要其他工具來訪問數據庫。我想我的第一個擔心是,如果我能夠以只讀訪問的方式提取數據,接下來是如何僅僅知道在Visual Studio上顯示的路徑的數據庫,以及最後如何成功實現這一點。 – ImaNoob

+0

你最好的選擇是基礎步驟教程。不幸的是,這個問題太廣泛了,無法在問答網站上正確回答... – Paolo

回答

0

對不起OP我誤解了你的問題,我沒有意識到你只是在尋找一個.NET的答案。是的,這仍然是平均地使用ASP.NET,你只需要動態生成HTML的,像這樣:

public partial class CS : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!this.IsPostBack) 
     { 
      //Populating a DataTable from database. 
      DataTable dt = this.GetData(); 

      //Building an HTML string. 
      StringBuilder html = new StringBuilder(); 

      //Table start. 
      html.Append("<table border = '1'>"); 

      //Building the Header row. 
      html.Append("<tr>"); 
      foreach (DataColumn column in dt.Columns) 
      { 
       html.Append("<th>"); 
       html.Append(column.ColumnName); 
       html.Append("</th>"); 
      } 
      html.Append("</tr>"); 

      //Building the Data rows. 
      foreach (DataRow row in dt.Rows) 
      { 
       html.Append("<tr>"); 
       foreach (DataColumn column in dt.Columns) 
       { 
        html.Append("<td>"); 
        html.Append(row[column.ColumnName]); 
        html.Append("</td>"); 
       } 
       html.Append("</tr>"); 
      } 

      //Table end. 
      html.Append("</table>"); 

      //Append the HTML string to Placeholder. 
      PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() }); 
     } 
    } 

    private DataTable GetData() 
    { 
     string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(constr)) 
     { 
      using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers")) 
      { 
       using (SqlDataAdapter sda = new SqlDataAdapter()) 
       { 
        cmd.Connection = con; 
        sda.SelectCommand = cmd; 
        using (DataTable dt = new DataTable()) 
        { 
         sda.Fill(dt); 
         return dt; 
        } 
       } 
      } 
     } 
    } 
} 

希望這會給你足夠好的起點,走了。另外請注意,連接到服務器時,最好的做法是這樣做:

SqlConnection conn = new SqlConnection(); 
SqlConnectionStringBuilder b = new SqlConnectionStringBuilder(); 
b.DataSource = "190.xxx.xxx.xxx\ServerName"; 
b.InitialCatalog = "DataBaseName"; 
b.IntegratedSecurity = false; 
b.UserId = "..."; 
b.Password = "..."; 
conn.ConnectionString = b.ConnectionString; 
conn.Open(); 

祝您好運!

+0

謝謝你的回答!請原諒我的「noobness」,但我沒有意識到我正在尋找.Net的答案。從我的谷歌搜索研究,我想我需要使用Javascript/PHP來做到這一點。 我正在使用Aptana。你認爲我能夠使用這些代碼嗎?如果沒有,你會對我應該如何處理這個問題有任何建議嗎? – ImaNoob

相關問題