我必須跑一段時間,所以我會帶你走過一個字,你已經嘗試了一些東西,併發布這個,希望它可以幫助你(很高興看到你已經做了什麼來了解如何來幫你)。
你說你有連接工作。以下是一些基本查詢的例子。要記住的最重要的事情是有很多不同的方式來做到這一點,所以這些只是作爲例子。他們都是手動的 - 爲了自動幫助數據綁定,你必須發佈並詢問。
請學習如何做 - 確保你總是使用參數,不要做像「UPDATE myUserData set DRIVER_LICENSE ='U7439821'WHERE LAST_NAME ='Smith'」這樣的事情。如果你這樣做,你正在乞求糟糕的事情發生在你身上。多花30秒鐘使用command.Parameter.Add(,)。
最後,這些示例適用於MS-SQL Server。您需要將連接從SqlConnection更改爲MySqlConnection,並從SQLCommand更改爲MySqlCommand。
如果您有任何其他問題,請詢問。
//these are connection methods that help connect you to your database manually.
public SqlConnection getConn()
{
return new SqlConnection(getConnString());
}
public string getConnString()
{
return @"Data Source=lily.arvixe.com;Initial Catalog={My_Database_Name};Persist Security Info=True;User ID={My_Database_Username};Password={My_Database_Password};Connection Timeout=7000";
}
//to get a single value from a single field:
public object scalar(string sql)
{
object ret;
using (SqlConnection conn = getConn())
{
conn.Open();
using (SqlCommand com = conn.CreateCommand())
{
com.CommandText = sql;
ret = com.ExecuteScalar();
}
conn.Close();
}
return ret;
}
//To do a SELECT with multiple rows returned
private List<string> get_Column_Names(string tableName)
{
List<string> ret = new List<string>();
using (SqlConnection conn = getConn())
{
conn.Open();
using(SqlCommand com = conn.CreateCommand())
{
com.CommandText = "select column_Name from INFORMATION_SCHEMA.COLUMNS where table_Name = '" + tableName + "'";
com.CommandTimeout = 600;
SqlDataReader read = com.ExecuteReader();
while (read.Read())
{
ret.Add(Convert.ToString(read[0]));
}
}
conn.Close();
}
return ret;
}
// to do an INSERT or UPDATE or anything that does not return data
// USE PARAMETERS if people go anywhere near this data
public void nonQuery(string sql)
{
using(SqlConnection conn = getConn())
{
conn.Open();
using(SqlCommand com = conn.CreateCommand())
{
com.CommandText = sql;
com.CommandTimeout = 5900;
com.ExecuteNonQuery();
}
conn.Close();
}
}
//to save a DataTable manually:
public void saveDataTable(string tableName, DataTable table)
{
using (SqlConnection conn = getConn())
{
conn.Open();
using (var bulkCopy = new SqlBulkCopy(conn))//, SqlBulkCopyOptions.KeepIdentity))
{
// my DataTable column names match my SQL Column names, so I simply made this loop. However if your column names don't match, just pass in which datatable name matches the SQL column name in Column Mappings
foreach (DataColumn col in table.Columns)
{
bulkCopy.ColumnMappings.Add(col.ColumnName, "[" + col.ColumnName + "]");
}
bulkCopy.BulkCopyTimeout = 8000;
bulkCopy.DestinationTableName = tableName;
bulkCopy.BatchSize = 10000;
bulkCopy.EnableStreaming = true;
// bulkCopy.SqlRowsCopied += BulkCopy_SqlRowsCopied;
//bulkCopy.NotifyAfter = 10000;
//isCopyInProgess = true;
bulkCopy.WriteToServer(table);
}
conn.Close();
}
}
再次,有很多方法可以以編程方式完成這些任務 - 我只是向您展示最基本的。如果您想了解如何自動將控件綁定到數據,請嘗試搜索「C-sharp Databind CONTROL_NAME Visual Studio」,您應該獲得所需的所有幫助。
這看起來像C#/ CLI,而不是C++。 – NathanOliver
@NathanOliver我的錯誤,我的意思是C#對不起 – Soheyl
我知道你打算先把這個完全相同的問題輸入到Google中,找到一些可以嘗試的東西,並且只在這裏問你是否遇到了特定的問題。我們在這裏提供幫助,但你必須幫助自己。 –