1

有没有人可以帮助我以 ac# windows 形式在类代码中制作 SqlHelper 脚本。我希望 Sqlscalar 和 sqlNonquery 和 sqlexecute 在同一个脚本中,之后我希望命令以 c# windows 形式执行请求的事情。

致以最诚挚的敬意 来自挪威的 Jensen

4

1 回答 1

1

这应该让你开始,这是我写的一些代码,这里是插入

    public static void DbInsert(string table, string[] columnNames, string[] datatoadd)
{
    //string table name, column names to be updated, data as string in array
    //string[] strColumnNames = { "test1", "test2", "test3", "test4" };
    //string[] strValues = { "value1", "value2", "value3", "value4" };
    //Database.DbInsert("tblName", valscn, vals);


    SqlConnection sqlConn = new SqlConnection();
    SqlCommand sqlCmd = new SqlCommand();
    sqlCmd.CommandType = CommandType.Text;

    sqlConn.ConnectionString = ConnectionString("LiveConnection");
    string tblValues = "";
    string tblValuesCN = "";

    for (int i = 0; i < datatoadd.Length; i++)
    {
        sqlCmd.Parameters.Add(new SqlParameter("@" + i.ToString(), datatoadd[i].ToString()));
        tblValues = tblValues + "@" + i.ToString();
        if (i != datatoadd.Length-1)
        {
            tblValues = tblValues + ",";
        }
    }
    for (int i = 0; i < columnNames.Length; i++)
    {
        tblValuesCN = tblValuesCN + columnNames[i].ToString();
        if (i != columnNames.Length - 1)
        {
            tblValuesCN = tblValuesCN + ",";
        }
    }

    sqlCmd.CommandTimeout = 0;
    sqlCmd.CommandText = "Insert Into " + table + "(" + tblValuesCN + ") Values (" + tblValues + ")";

    sqlConn.Open();
    sqlCmd.Connection = sqlConn;
    sqlCmd.ExecuteNonQuery();


    sqlConn.Close();
    sqlCmd.Dispose();

}

这是一个更新:

    public static void DbEdit(string table, string[] columnNames, string[] datatoadd, string whereclause)
{
    //string[] strColumnNames = { "Activate" };
    //string[] strData = { "Activated" };
    //Database.DbEdit("tblName", strColumnNames, strData, "id='" + activationresponse + "'");

    SqlConnection sqlConn = new SqlConnection();
    SqlCommand sqlCmd = new SqlCommand();
    sqlCmd.CommandType = CommandType.Text;

    sqlConn.ConnectionString = ConnectionString("test");
    string tblValues = "";
    string tblValuesCN = "";

    for (int i = 0; i < datatoadd.Length; i++)
    {
        sqlCmd.Parameters.Add(new SqlParameter("@" + i.ToString(), datatoadd[i].ToString()));
        tblValues = "@" + i.ToString();
        if (i != datatoadd.Length - 1)
        {

        }


        if (columnNames[i].ToString() != "")
        {
            tblValuesCN = tblValuesCN + columnNames[i].ToString() + "=" + tblValues + ",";
        }



    }
    tblValuesCN = tblValuesCN.Remove(tblValuesCN.Length - 1, 1);
    sqlCmd.CommandTimeout = 0;
    if (whereclause != "")
    {
        sqlCmd.CommandText = "Update " + table + " Set " + tblValuesCN + " where " + whereclause;
    }
    else
    {
        sqlCmd.CommandText = "Update " + table + " Set " + tblValuesCN;
    }
    sqlConn.Open();
    sqlCmd.Connection = sqlConn;
    sqlCmd.ExecuteNonQuery();


    sqlConn.Close();
    sqlCmd.Dispose();

}

您可以使用非查询或任何您想要的方法来创建读取方法,但这两个将帮助您开始插入和更新,尤其是刚刚发布的 SINE 链接,您可以从那里获取一些。

于 2013-07-11T23:11:38.850 回答