C# Web API操作Sqlite数据库

Web API操作Sqlite数据库

    • 操作助手
    • API接口配置
    • API配置文件
    • 自定义路由

操作助手

Using System.Data.SQLite

SQLiteConnection m_dbConnection;
public SQLiteHelper() {
	//路径为同项目的sqlite文件夹下的db文件
    string connectionstr = string.Format(@"Data Source=" +System.Web.Hosting.HostingEnvironment.MapPath($"/sqlite") + @"/UserWechatLogin.db;Version=3");
    m_dbConnection = new SQLiteConnection(connectionstr);
    if (m_dbConnection.State == ConnectionState.Closed)
        m_dbConnection.Open();
}
//查
public DataTable SelectALL(string sql)
{
    SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
    SQLiteDataAdapter sdp = new SQLiteDataAdapter(command);
    DataTable ds = new DataTable();
    sdp.Fill(ds);
    sdp.Dispose();
    return ds;
}
//增/删/改
public bool insert_update_delete_Data(string sql) {
    try
    {
        SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
        command = new SQLiteCommand(sql, m_dbConnection);
        command.ExecuteNonQuery();
        return true;
    }
    catch {
        return false;
    }
}

API接口配置

[RoutePrefix("WeChatLoginAPI/UserInfo")]
public class LoginInfoController : ApiController
{
    SQLiteHelper sQLiteHelper = new SQLiteHelper();
    [Route("Insert_Data")]
    [HttpGet]
    public bool Insert_Datas(string Name,string IMG) {
        DataTable UserInfoDT = sQLiteHelper.SelectALL("SELECT * FROM UserInfo");
        for (int i=0;i< UserInfoDT.Rows.Count; i++) {
            if (UserInfoDT.Rows[i]["LoginName"].ToString() == Name)
                return true;
        }
        bool c1 = sQLiteHelper.insert_update_delete_Data("INSERT INTO UserInfo(LoginName,LoginIMG) VALUES('" + Name + "','" + IMG + "')");
        if (c1)
            return true;
        else
            return false;
    }
    [Route("SELECT_Data")]
    [HttpGet]
    public bool SELECT_Data()
    {
        DataTable c0 = sQLiteHelper.SelectALL("SELECT * FROM UserInfo");
        return true;
    }
}

API配置文件

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Methods" value="GET, POST, Options, PUT, DELETE" />
      <add name="Access-Control-Allow-Headers" value="x-requsted-with,content-type" />
      <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

自定义路由

config.Routes.MapHttpRoute(
    name: "TestApi",
    routeTemplate: "testapi/{controller}/{ordertype}/{id}",
    defaults: new { ordertype = "aa", id = RouteParameter.Optional }
);

你可能感兴趣的:(c#)