|
I am using Access database!!!
|
|
|
|
|
|
|
It's both sad and frightening that this comes up so much on coding forums when people post their SQL code. +1 for fighting the good fight. I see it so much I'm almost numb to it now.
|
|
|
|
|
You would open a connection, then a issue a command against that connection, and then retrieving the results.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
How to pick random word from database and shuffle it???
|
|
|
|
|
Repeating the question means I'll be repeating my answer.
Try it one step at a time; first write some code to connect and execute a query. Once that works, you can try to get a random value.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I don't know to work with databases.
|
|
|
|
|
..then I suggest you learn very quickly, as it is part of the code you are converting.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Can you give me link for learning database ?
|
|
|
|
|
Google[^] has a list; but skip the ones that use a wizard to generate the code.
As is, the VB code you posted would load an entire table and then pick a random record from that list. It would have been more efficient to generate a random id and fetch a single record.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
How to convert Access Database to SQL Database ?
|
|
|
|
|
There's a button if you open the database in Access in edit-mode , that size "upsize to SQL". It will only convert tables, not forms or reports.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I cannot find that option!!!
|
|
|
|
|
|
I think I am using developer version!
|
|
|
|
|
I read that there is no anymore that option,now for conversion is using SQL Server Migration Assistant for Access.
|
|
|
|
|
Pavlex4 wrote: I read that there is no anymore that option,now for conversion is using SQL Server Migration Assistant for Access. It was there in 2007. Good to hear that there is a new option; did it work?
Alternatively, you could also create a "linked server" in SQL Management Studio, point to your Access-database, and copy tables over using a "SELECT INTO".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
When I run program with this commands it prints System.Data.SqlClient.SqlCommand!!!Why it won't show random word from database???
string cs= @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename= C:\Users\Pavle\Documents\Visual Studio 2015\Projects\Test slagalica\Test slagalica\Slagalica-DB.mdf;Integrated Security=True";
string queryString = "SELECT * FROM table1 WHERE LEN(Reci) >=10 AND LEN(Reci) <=12 ";
using (SqlConnection connection = new SqlConnection(cs))
{
SqlCommand mycommand = new SqlCommand(queryString, connection);
try
{
connection.Open();
SqlDataReader reader = mycommand.ExecuteReader();
label14.Text = Convert.ToString(mycommand);
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
|
|
|
|
|
Pavlex4 wrote: When I run program with this commands it prints System.Data.SqlClient.SqlCommand!!! That is following its instructions; "Convert.ToString(mycommand)" will result in that text.
Pavlex4 wrote: Why it won't show random word from database??? What do you want to load? A single random word? In that case, your query is wrong, as it will result in multiple non-random results, and you should call the ExecuteScalar method on the command. ToString its result and remove the reader
If you want to load all the values in the list of records that the query returns, you'd need a reader indeed. In that case you'd still need the reader and call its Read method. To print them all, you'd need a loop.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Like this?But every time I run program it shows same word,it should show random word every other time!!!
using (SqlConnection connection = new SqlConnection(cs))
{
SqlCommand mycommand = new SqlCommand(queryString, connection);
try
{
connection.Open();
string word = (string)mycommand.ExecuteScalar();
label14.Text = word;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
modified 7-Dec-16 7:01am.
|
|
|
|
|
Yup, but that will only work if the select-statement returns a single value. Easiest would be to change the query to return a random word.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
But return random word must have lenght between 10 and 12!
|
|
|
|
|
..which is just another condition for the query. You've already got the length part, now you'd need the random part and to ensure that there's only one value returned.
Google for "MSAccess random query example", and you'll get an example like this[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Like this?
string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename= C:\Users\Pavle\Documents\Visual Studio 2015\Projects\Test slagalica\Test slagalica\Slagalica-DB.mdf;Integrated Security=True";
string queryString = "SELECT * FROM table1 WHERE LEN(Reci) >=10 AND LEN(Reci) <=12 ORDER BY RAND()";
string query = "SELECT * FROM table1 ORDER BY RAND()";
using (SqlConnection connection = new SqlConnection(cs))
{
SqlCommand mycommand = new SqlCommand(queryString, connection);
SqlCommand mycommand2 = new SqlCommand(query, connection);
try
{
connection.Open();
string word = (string)mycommand.ExecuteScalar();
word = (string)mycommand2.ExecuteScalar();
label14.Text = word;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
|
|
|
|