我正在尝试从下拉列表中读取值并显示到几个文本框中。使用c#和MySQL作为db。
我有三张桌子:产品,汽车,颜色。 有一个下拉列表和3个文本框。
我不知道如何将产品列入下拉列表,并在选择产品后显示指定的"属性"在每个文本框中。
选择产品1(下拉列表) - >显示BMW(第一个文本框)绿色(第二个txtbox)。
每件产品都是静态的" Car"和"颜色" 。产品的财产永远不会改变。它们是独一无二的。
答案 0 :(得分:0)
以此为例
Table 1 Product
id|name
--------
1 | Car
2 | car
Table 2 Type
id|model
--------
1 | BMW
2 | Mercedes
Table 2 Color
id|car_color
------------
1 | Green
2 | Yellow
助手班
class MySQLClass : IDisposable
{
// Connection string need to be replaced for secure purpuose
private static string connString = @"Server=xxxx;uid=xxxx;pwd=xxxxx;database=xxxxxx";
/// <summary>
/// OdbcConnection : This is the connection
/// </summary>
SqlConnection oConnection;
/// <summary>
/// OdbcCommand : This is the command
/// </summary>
SqlCommand oCommand;
/// <summary>
/// Constructor: This is the constructor
/// </summary>
/// <param name="DataSourceName">string: This is the data source name</param>
public MySQLClass()
{
//Instantiate the connection
oConnection = new SqlConnection(connString);
try
{
//Open the connection
oConnection.Open();
//Notify the user that the connection is opened
//Console.WriteLine("The connection is established with the database");
}
catch (OdbcException caught)
{
Console.WriteLine(caught.Message);
Console.Read();
}
}
/// <summary>
/// void: It is used to close the connection if you work within disconnected
/// mode
/// </summary>
public void CloseConnection()
{
oConnection.Close();
}
/// <summary>
/// OdbcCommand: This function returns a valid odbc connection
/// </summary>
/// <param name="Query">string: This is the MySQL query</param>
/// <returns></returns>
public SqlCommand GetCommand(string Query)
{
oCommand = new SqlCommand();
oCommand.Connection = oConnection;
oCommand.CommandText = Query;
return oCommand;
}
/// <summary>
/// void: This method close the actual connection
/// </summary>
public void Dispose()
{
oConnection.Close();
}
}
用法
DataTable dt = new DataTable();
using (MySQLClass o = new MySQLClass())
{
string sql = @"
SELECT Product.id, Product.name, Type.model, Color.car_color FROM Product
INNER JOIN Type ON Product.id = Type.id
INNER JOIN Color ON Type.id = Color.id;
";
SqlCommand oCommand = o.GetCommand(sql);
SqlDataAdapter adapter = new SqlDataAdapter(oCommand);
adapter.Fill(dt);
// ddList is your dropDownList
ddList.DataSource = dt;
ddList.DataTextField = "name";
ddList.DataValueField = "id";
ddList.DataBind();
}
然后在你的evet上使用你需要的所有东西。