我正在制作一个使用浏览器的应用程序,每周显示一个病毒视频。视频的网址存储在我的MySQL数据库中,同时还有一个显示右上角计数器的int,我是什么我们要做的是从MySQL数据库中获取文本字符串,然后将该信息写入名为Video1和Counter的文本框中。
以下是我目前的一些代码:
private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = Convert.ToInt32(Refresh_Rate.Text);
timer1.Enabled = true;
try
{
string myConnrction = "datasource=************;port=3306;username=*******;password=*******";
MySqlConnection myConn = new MySqlConnection(myConnrction);
MySqlCommand SelectCommand = new MySqlCommand("select * from sql337069.Youtube where Video1='", myConn);
MySqlDataReader myReader;
myConn.Open();
myReader = SelectCommand.ExecuteReader();
while (myReader.Read())
{
}
MySqlDataAdapter myDataAdapter =new MySqlDataAdapter();
myDataAdapter.SelectCommand = new MySqlCommand(" select * sql337069.Youtube ;", myConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
myConn.Open();
DataSet ds = new DataSet();
MessageBox.Show("Working");
myConn.Close();
}
catch
{
MessageBox.Show("Null");
}
所以我想我正在寻找像Video1.text += [?]
这样的东西。
答案 0 :(得分:1)
从我所看到的,你最好在select语句中获取你想要的列,而不是选择所有列(*)。当您选择所需的数据时,您将知道要返回的数据的确切结构,并且可以将其保存在您创建的类或结构中。比如,像这样的东西:
public struct Video
{
public int ID;
public string Name;
public int Count;
}
static void Main(string[] args)
{
string myConnectionString = "YOUR_CONNECTION_STRING";
SqlConnection myConn = new SqlConnection(myConnectionString);
SqlCommand myCommand = new SqlCommand("SELECT ID, VideoName, VideoPlayCount FROM dbo.VideoTable WHERE Id = YOUR_VIDEO_RECORD_ID", myConn);
Video video = new Video();
myCommand.CommandType = System.Data.CommandType.Text;
myConn.Open();
SqlDataReader reader = myCommand.ExecuteReader(CommandBehavior.SingleResult);
reader.Read();
video.ID = reader.GetInt32(0);
video.Name = reader.GetString(1);
video.Count = reader.GetInt32(2);
myConn.Close();
string myTextBoxValue = video.Name + " " + video.Count.ToString();
}
使用此示例需要您替换" YOUR_CONNECTION_STRING"使用连接字符串到您的数据库,以及输入select语句的正确表名和表列,但除此之外,这应该可以得到您所相信的内容。字符串" myTextBoxValue"正在按要求分配视频名称和计数。
希望这有帮助。
答案 1 :(得分:0)
对我而言我发现这种方法效果最好但是感谢Kevin帮我填写了一些代码。
try
{
//Defanitions
string myConnrction = "*********;port=3306;username=******;password=******";
MySqlConnection myConn = new MySqlConnection(myConnrction);
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
myDataAdapter.SelectCommand = new MySqlCommand(" select * sql337069.Youtube;", myConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
DataSet ds = new DataSet();
string Query = "select * from sql337069.Youtube ;";
MySqlCommand cmdDataBase = new MySqlCommand(Query, myConn);
MySqlDataReader myreader;
//Defanitions
myConn.Open();
myreader = cmdDataBase.ExecuteReader();
while (myreader.Read())
{
string sName = myreader.GetString("Video2_Refresh");
Video2_Refresh.Text = sName;
}
MessageBox.Show("Working");
}
catch
{
MessageBox.Show("Null");
}
(我发布这个堆栈溢出参考因为我在这个主题上找不到多少)