好吧,我想基本上連接我的Windows窗體應用程序在C#到我的數據庫,我想要它做的是從數據庫顯示隨機單詞到我的表單的標籤。當我說顯示一個隨機單詞時,我的意思是從我的數據庫表中的20個單詞中顯示一個隨機單詞。我想知道你會如何做到這一點?我真的不想要答案,因爲我想學習,但你能解釋我將如何做到這一點?如何鏈接數據庫與C#
感謝提前:)
我想使用訪問,而不是由.NET提供的框架連接數據庫
好吧,我想基本上連接我的Windows窗體應用程序在C#到我的數據庫,我想要它做的是從數據庫顯示隨機單詞到我的表單的標籤。當我說顯示一個隨機單詞時,我的意思是從我的數據庫表中的20個單詞中顯示一個隨機單詞。我想知道你會如何做到這一點?我真的不想要答案,因爲我想學習,但你能解釋我將如何做到這一點?如何鏈接數據庫與C#
感謝提前:)
我想使用訪問,而不是由.NET提供的框架連接數據庫
首先,我想建議使用谷歌第一Beginners guide to connect SQL with C#,那麼我會像你一樣發佈有關一個主題的問題 - 將SQL與C#連接起來。選擇隨機詞的部分應該是另一個獨立問題。
無論如何,我希望這會對你有用,但請記住,我們不是在這裏沒有任何編碼工作和你的代碼的代碼。
我的代碼:
List<string> wordList = new List<string>();
string connection = "YourConnectionString";
OleDbConnection con = new OleDbConnection(connection);
string query = "SELECT * FROM yourTable WHERE [email protected]"; // add as many conditions as you need
OleDbCommand comm = new OleDbCommand(query, con);
comm.Parameters.AddWithValue("@param", textBox1.Text); //example of parameter
con.Open();
OleDbDataReader rdr = comm.ExecuteReader();
while (rdr.Read()) //this will loop through all rows with given conditions.
{
wordList.Add(rdr.GetString(rdr.GetOrdinal("YourSQLColumn")).Trim());
}
con.Close();
Random rnd = new Random();
int randomint = rnd.Next(1, 20); // generates a random number between 1 and 20
label1.Text = wordList[randomint].ToString();
每個單詞是在1列,所以20行和1列 – user3325176
@ user3325176嘗試我的編輯。對你起作用嗎? – Marek
如果將rnd.Next設置爲列表的下限和上限,它將是動態的(因此,當您添加第21個單詞時,您不需要重新編碼,我向你保證將會發生)相信列表序號開始在0 ... – Tim
下面是一個樣本,讓你開始
public static void Main()
{
string connectionString = "data source=.\\SQLEXPRESS;Integrated Security=SSPI;database=InsertDatabaseNameHere; connection timeout=30";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand("select ColumnName from TableName", connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetValue(0));
}
connection.Close();
}
我認爲這不是索引列的好方法,因爲表結構可能會改變。 – Marek
剛剛成立了一個SqlDataReader,並轉換到一個列表...你只需要一個一維列表字符串。您將循環瀏覽結果並將其添加到列表中。 (有可能是一個更優雅的方式來做到這一點,但你只有20個字符串,而不是20,000,所以我不認爲你需要爲此瘋狂)
這是另一個SO question讓你開始..這個答案可能是你需要的。
你只需設置你的DataReader對抗接入(有一個bazillion擊中這樣做),將其轉換爲一個列表,和您去...
您好,歡迎到現場!我建議你看看這個 - http://stackoverflow.com/help/how-to-ask - 當你有一個特定的與編程相關的問題時回頭看看。 – admdrew
對Linq-To-Entities(實體框架),Linq-To-SQL和ADO.net做一些研究。這些都是.NET中可用的框架,您可以使用WinForms應用程序訪問SQL數據庫。 –
嘗試使用'Google'before問一個問題。例如,我經過簡單的搜索就得到了這個:[初學者指導通過C#訪問SQL Server](http://www.codeproject.com/Articles/4416/Beginners-guide -to-access-SQL-Server-through-C) –