この最初の例は、理解しやすいと思われる方法に基づいた概要ですが、SQL インジェクションに対する脆弱性があるため、これは推奨されるアプローチではありません (さらに下にあるより良いアプローチ)。でも、分かりやすいと思います。
private void InsertToSql(string wordToInsert)
{
string connectionString = Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; User ID=myDomain\myUsername;Password=myPassword;
string queryString = "INSERT INTO table_name (column1) VALUES (" + wordToInsert + ")"; //update as you feel fit of course for insert/update etc
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open()
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand command = new SqlCommand(queryString, connection);
command.ExecuteNonQuery();
connection.Close();
}
}
また、エラーが発生した場合に接続を確実に閉じるために、try/catch ブロックでラップすることをお勧めします。
これをテストすることはできませんが、問題ないと思います。
ここでも、SQL インジェクションを許可するため、ライブで上記を実行しないでください。代わりにパラメーターを使用してください。ただし、PHP のバックグラウンドを持っている場合は、上記の手順を実行する方が簡単であると主張される場合があります (慣れるために)。
これはパラメータを使用します:
public void Insert(string customerName)
{
try
{
string connectionString = Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; User ID=myDomain\myUsername;Password=myPassword;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
connection.Open() SqlCommand command = new SqlCommand( "INSERT INTO Customers (CustomerName" + "VALUES (@Name)", connection);
command.Parameters.Add("@Name", SqlDbType.NChar, 50, " + customerName +");
command.ExecuteNonQuery();
connection.Close();
}
catch()
{
//Logic in here
}
finally()
{
if(con.State == ConnectionState.Open)
{
connection.Close();
}
}
}
そして、SQL 文字列を変更して選択または追加するだけです。