我设法使用Strip.net dll的一个版本来创建一个付款方法,但我有处理错误的问题.我得到了这个.
try
{
StripeCustomer current = GetCustomer();
// int? days = getaTraildays();
//if (days != null)
//{
int chargetotal = 300; //Convert.ToInt32((3.33*Convert.ToInt32(days)*100));
var mycharge = new StripeChargeCreateOptions();
mycharge.AmountInCents = chargetotal;
mycharge.Currency = "USD";
mycharge.CustomerId = current.Id;
string key = "sk_test_XXX";
var chargeservice = new StripeChargeService(key);
StripeCharge currentcharge = chargeservice.Create(mycharge);
//}
}
catch (StripeException)
{
lblerror.Text = "Please check your card information and try again";
}
Run Code Online (Sandbox Code Playgroud)
它将捕获错误并让用户知道存在问题,但我是新的,以了解为什么它仍然显示错误,如果该过程工作.我知道它的问题与捕获的方式有关,但我不确定如何处理,我尝试过的所有内容都失败了.我想做的是让它重定向到另一个页面.有任何想法吗
++更新
在Olivier Jacot-Descombes的帮助下,我改变了我的代码
catch (StripeException ex)
{
lblerror.Text = (ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
并且能够获得更好的结果
我有一个函数,它迭代表中的"每行".当它运行时,它应该查看每一行,拉入该行的相关SET值并运行该函数,该函数依次返回结果并使用正确的值更新正确的行.发生的事情是它正在运行并返回最后一行的值并使用该值更新所有行.我有什么想法我做错了吗?
SELECT
RowNum = ROW_NUMBER() OVER(ORDER BY ID)
,*
INTO #Geo
FROM DDDG
DECLARE @MaxRownum INT
SET @MaxRownum = (SELECT MAX(RowNum) FROM #Geo)
DECLARE @Iter INT
SET @Iter = (SELECT MIN(RowNum) FROM #Geo)
WHILE @Iter <= @MaxRownum
BEGIN
SELECT *
FROM #Geo
WHERE RowNum = @Iter
DECLARE @address nvarchar (100);
Select @address = Ad1 from DDDG where id = @Iter;
DECLARE @state nvarchar (100);
SET @state = 'FL';
DECLARE @zip nvarchar (100);
SET @zip = '33142';
DECLARE @city nvarchar (100); …Run Code Online (Sandbox Code Playgroud) 我试图通过bool响应返回单独查询的值,但我无法正确使用它.除了搜索发现或不发现之外,我没有收到任何错误.Subscriberkey值从另一个类传递到该类.我做出的任何我想到的更改都会破坏代码并添加类似的内容
if (var == null)
{
return true;
}
return SubscriberQuery.LookupSubProfile(querysubscriber);
Run Code Online (Sandbox Code Playgroud)
不起作用.
public static bool LookupSubProfile (SubscriberProfileQuery subscriber)
{
try
{
var connString = "Server = Server\\SQLEXPRESS; initial catalog = Stuff; integrated security = True;";
var query = "SELECT * FROM Subscriber WHERE SubscriberKey = '@SubscriberKey'";
query = query.Replace("@SubscriberKey", subscriber.Subscriberkey);
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlCommand command = new SqlCommand(query, conn);
command.ExecuteNonQuery();
conn.Dispose();
conn.Close();
}
return false;
}
catch
{
return false;
}
Run Code Online (Sandbox Code Playgroud)