c# 如何连接SOL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 如何连接SOL相关的知识,希望对你有一定的参考价值。

c# 如何连接SOL

用C#联接SQL有两种连接方式,字符串连接和配置文件连接。一个连接字符串的例子是对数据库文件NORTHWEND.MDF的连接

Data Source=.\\SQLEXPRESS; AttachDbFilename=C:\\...\\NORTHWND.MDF; 

Integrated Security=True; Connect Timeout=30; User Instance=True

数据源的值是.\\SQLEXPRESS,这里“.”可以写成(local)或者localhost,表示是本机数据库。\\SQLEXPRESS表示数据库NORTHWEND.MDF是免费产品。由于数据库是文件形式,添加了AttachDbFilename说明。

另外的例子是对于安装在服务器的数据库,例如本机安装的数据库,使用SqlClient连接字符串。连接到AdventureWorks2008的连接字符串示例如下:

Data Source=.;Initial Catalog=AdventureWorks2008;Integrated Security=True 

对于SQL Server身份验证,使用指定用户名和密码,这里星号表示有效用户名和密码。

"Persist Security Info=False;User ID=*****;Password=*****;"

  +"Initial Catalog=AdventureWorks;Server=mysqlServer"

配置文件是可以按需要更改的XML文件。开发人员可以使用配置文件来更改设置,而不必重编译应用程序。

建议不要在代码中嵌入连接字符串。如果服务器的位置更改,应用程序将需要重新编译。此外,编译成应用程序源代码的未加密连接字符串可以使用MSIL反汇编程序(ildasm.exe)查看而泄密。为了避免将连接字符串存储在代码中,可以将代码存储在ASP.NET应用程序的web.config文件中以及Windows应用程序的app.config文件中。

使用配置文件可以避免记忆连接字符串细节的负担,记忆配置文件的设置过程比记忆连接字符串的细节要容易,因为设置过程按向导进行,智能提示有助于获取连接字符串。

具体做法给你推荐一本书:《C#编程指南》,但尧,清华大学出版社,2011年1月出版,相关内容有数据库的下载安装、可视化编程、ADO、SQL的FILESTREAM、以及O/R设计器(对象关系设计器)等。在Google或百度输入书名,作者,出版社,有好几家网上书店出售,最低75折,送到家。目前还未在书店上架。

参考技术A default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.htmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page


protected void Page_Load(object sender, EventArgs e)

SqlConnection conn = dbconn.crtConn();//调用静态数据库连接类,并实例化
conn.Open();
SqlCommand cmd = new SqlCommand("select name from sort",conn); //建立command 命令 ,并实例化为cmd
try //试着读取数据库,如果没有错误,则执行下面错作

SqlDataReader rs = cmd.ExecuteReader();//从数据源中读取数据,并将数据返回到rs中
while (rs.Read()) //使用rs.read()输出rs中的数据内容

Response.Write(rs.GetString(0)+"<br>"); //数据内容



catch (Exception)//如果执行上面sql语句出错,则输出下面语句内容!

Response.Write("连接错误!");


参考技术B 先导包 using System.Data.SqlClient;
在创建connection对象
path = "Data Source=.;Initial Catalog=MyQQ;Integrated Security=True";
public static SqlConnection con = new SqlConnection(path);
就可以了本回答被提问者采纳

如何通过 Phantom 钱包集成使用 Vanilla JS 和 JSON-RPC 获取 Solana 帐户信息和/或 SOL 余额?

【中文标题】如何通过 Phantom 钱包集成使用 Vanilla JS 和 JSON-RPC 获取 Solana 帐户信息和/或 SOL 余额?【英文标题】:How to get Solana Account Info and-or SOL Balance using Vanilla JS and JSON-RPC via Phantom wallet integration? 【发布时间】:2021-12-05 03:23:02 【问题描述】:

以下 Vanilla JS 示例通过 Phantom 钱包连接和断开 Solana 区块链。

连接成功,获取公共地址。

尝试使用 JSON-RPC 请求获取钱包余额和账户信息时失败。

如果有人可以帮助解决这个问题,我们将为我们这些喜欢尽可能保留原版的人提供一些基本示例。

连接功能:

// Connect Phantom
function phantom_connect() 

  // Check for Solana & Phantom
  var provider = () => 
    if ("solana" in window) 
      var provider = window.solana;
      if (provider.isPhantom) 
        return provider;
       else 
        return false;
      
    
    window.open("https://phantom.app", "_blank");
  ;

  var phantom = provider();

  if (phantom !== false) 

    console.log("Phantom Wallet Found, Connecting..");

    try 

      // Connect to Solana
      var connect_wallet = phantom.connect();

      // After Connecting
      phantom.on("connect", () => 

        // Check Connection
        console.log("Phantom Connected: " + phantom.isConnected);

        // Get Wallet Address
        var wallet_address = phantom.publicKey.toString();
        console.log("Solana Wallet Address: " + wallet_address);


        // ********** THIS FAILS **********
        // Get Account Info
        var account = phantom.request(
          "jsonrpc": "2.0",
          "id": 1,
          "method": "getAccountInfo",
          "params": [wallet_address, 
            "encoding": "jsonParsed"
          ]
        );
        console.log("Solana Account Info:");
        console.log(account);
        // ********************************


        // ********** THIS FAILS **********
        // Get Wallet Balance
        var balance = phantom.request(
          "jsonrpc": "2.0",
          "id": 1,
          "method": "getBalance",
          "params": [wallet_address]
        );
        console.log("Solana Wallet Balance:");
        console.log(balance);
        // ********************************


      );
      //

     catch (err) 
      console.log("Connection Cancelled!");
    
  


断开功能:

// Disconnect Phantom
function phantom_disconnect() 
  window.solana.request(
    method: "disconnect"
  );
  window.solana.on('disconnect', () => 
    console.log("Phantom Disconnected!");
  );

控制台在 getBalance 和 getAccountInfo 上均显示 -32603 错误。

RPC Error: JsonRpcEngine: Response has no error or result for request:

【问题讨论】:

【参考方案1】:

它不使用 JSON-RPC API,但我在代码下方添加了 Devnet 上的 Solana (Phantom) 钱包余额。

provider = window.solana;
connection = new solanaWeb3.Connection(solanaWeb3.clusterApiUrl('devnet'), 'confirmed');
// After Connecting
connection.getBalance(provider.publicKey).then(function(value)  console.log(value); )

【讨论】:

以上是关于c# 如何连接SOL的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Phantom 钱包集成使用 Vanilla JS 和 JSON-RPC 获取 Solana 帐户信息和/或 SOL 余额?

在 Solana 程序部署失败后,如何恢复用于出租的 SOL?

如何彻底删除 sol server

如何修复browser / IERC20.sol:4:53:警告:此声明会影响现有声明

C#如何查找事件是不是已连接

如何在 C# 中进行完全外连接? [复制]